/** * @param OpenIdMessage $message * @return bool */ public static function IsOpenIdDHAssociationSessionRequest(OpenIdMessage $message) { if (OpenIdAssociationSessionRequest::IsOpenIdAssociationSessionRequest($message)) { $session_type = $message->getParam(OpenIdProtocol::OpenIDProtocol_SessionType); if ($session_type == OpenIdProtocol::AssociationSessionTypeDHSHA1 || $session_type == OpenIdProtocol::AssociationSessionTypeDHSHA256) { return true; } } return false; }
/** * @param OpenIdMessage $message * @return null|SessionAssociationDHStrategy|SessionAssociationUnencryptedStrategy */ public static function buildSessionAssociationStrategy(OpenIdMessage $message) { $association_service = ServiceLocator::getInstance()->getService(OpenIdServiceCatalog::AssociationService); $configuration_service = ServiceLocator::getInstance()->getService(UtilsServiceCatalog::ServerConfigurationService); $log_service = ServiceLocator::getInstance()->getService(UtilsServiceCatalog::LogService); if (OpenIdDHAssociationSessionRequest::IsOpenIdDHAssociationSessionRequest($message)) { return new SessionAssociationDHStrategy(new OpenIdDHAssociationSessionRequest($message), $association_service, $configuration_service, $log_service); } if (OpenIdAssociationSessionRequest::IsOpenIdAssociationSessionRequest($message)) { return new SessionAssociationUnencryptedStrategy(new OpenIdAssociationSessionRequest($message), $association_service, $configuration_service, $log_service); } return null; }
/** * @param OpenIdMessage $message * @return bool */ protected function canHandle(OpenIdMessage $message) { $res = OpenIdAssociationSessionRequest::IsOpenIdAssociationSessionRequest($message); return $res; }