Hi,
we detected a problem accessing two services Google Suite and Office 365 using the Engineblock 6.3.3
The error we have on logs are the following:
Sep 22 14:18:22 papp03.rctsaai.pt EBLOG[32584]: [2020-09-22 14:18:21] app.INFO: Handling incoming request: POST /authentication/idp/single-sign-on/3aeed03ed80ba4a42b961e8cef0c7ee9 {"session_id":null,"request_id":"5f69f99dc78ff"} []
Sep 22 14:18:22 papp03.rctsaai.pt EBLOG[32584]: [2020-09-22 14:18:21] request.INFO: Matched route "authentication_idp_sso_idphash". {"session_id":null,"request_id":"5f69f99dc78ff"} {"route":"authentication_idp_sso_idphash","route_parameters":{"_controller":"engineblock.controller.authentication.identity_provider:singleSignOnAction","keyId":null,"domain":"rctsaai.pt","idpHash":"3aeed03ed80ba4a42b961e8cef0c7ee9","_route":"authentication_idp_sso_idphash"},"request_uri":"https://engine.rctsaai.pt/authentication/idp/single-sign-on/3aeed03ed80ba4a42b961e8cef0c7ee9","method":"POST"}
Sep 22 14:18:22 papp03.rctsaai.pt EBLOG[32584]: [2020-09-22 14:18:21] security.INFO: Populated the TokenStorage with an anonymous Token. {"session_id":null,"request_id":"5f69f99dc78ff"} []
Sep 22 14:18:22 papp03.rctsaai.pt EBLOG[32584]: [2020-09-22 14:18:22] app.ERROR: Argument 2 passed to EngineBlock_Corto_Module_Bindings::_verifyKnownSP() must be of the type string, null given, called in /opt/openconext/OpenConext-engineblock-6.3.3/library/EngineBlock/Corto/Module/Bindings.php on line 188 {"session_id":"dfc9gd2ii55gk3ejprhr6rpvr2","request_id":"5f69f99dc78ff"} {"exception":"[object] (TypeError(code: 0): Argument 2 passed to EngineBlock_Corto_Module_Bindings::_verifyKnownSP() must be of the type string, null given, called in /opt/openconext/OpenConext-engineblock-6.3.3/library/EngineBlock/Corto/Module/Bindings.php on line 188 at /opt/openconext/OpenConext-engineblock-6.3.3/library/EngineBlock/Corto/Module/Bindings.php:520)"}
Sep 22 14:18:22 papp03.rctsaai.pt EBLOG[32584]: [2020-09-22 14:18:22] app.NOTICE: An error was caught {"session_id":"dfc9gd2ii55gk3ejprhr6rpvr2","request_id":"5f69f99dc78ff"} []
Sep 22 14:18:22 papp03.rctsaai.pt Apache-EB: 193.137.196.29 - - [22/Sep/2020:14:18:21 +0100] "POST /authentication/idp/single-sign-on/3aeed03ed80ba4a42b961e8cef0c7ee9 HTTP/1.1" 200 84 "https://login.microsoftonline.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 Edg/80.0.361.50" "193.136.44.97"
The function _verifyKnownSP(string $messageIssuer, string $destination = '') has changed to define the parameters has strings .If me rollback that function _verifyKnownSP($messageIssuer, $destination = '')
Changing again to that function it works fine!
/**
* Verify if a message has an issuer that is known as an SP to us. If not, it
* throws a Corto_Module_Bindings_VerificationException.
* @param string $messageIssuer
* @param string $destination
* @return AbstractRole Remote Entity that issued the message
* @throws EngineBlock_Exception_UnknownServiceProvider
*/
protected function _verifyKnownSP($messageIssuer, $destination = '')
{
$remoteEntity = $this->_server->getRepository()->findServiceProviderByEntityId($messageIssuer);
if ($remoteEntity) {
return $remoteEntity;
}
$this->_logger->notice(
sprintf(
'Tried to verify a message from issuer "%s", but there is no known SP with that ID.',
$messageIssuer
)
);
throw new EngineBlock_Exception_UnknownServiceProvider(
sprintf('Issuer "%s" is not a known remote entity? (please add SP to Remote Entities)', $messageIssuer),
$messageIssuer,
$destination
);
}
Best regards,
Domingos Gonçalves