Заставлять WSO2 входить в систему с помощью Google каждый раз - PullRequest
1 голос
/ 02 апреля 2019

У меня есть приложение Rails, и я настроил WSO2is с Oauth 2.0 для входа в него с помощью Google. Работает нормально. Но есть проблема с этим. Пример. Предположим, я вошел в систему с одной из моих учетных записей Google, а затем вышел из приложения. и затем я пытаюсь войти в систему с другими учетными записями Google, здесь WSO2 не предлагает мне снова экран входа в систему Google. Мой вопрос заключается в том, как заставить WSO2 каждый раз запрашивать логин.

1 Ответ

1 голос
/ 03 апреля 2019

В настоящее время федеративный аутентификатор Google [2] не поддерживает функцию выхода из системы, поэтому запрос на выход из системы не будет доставлен в Google IDP.

Если вы хотите поддерживать функцию выхода из системы в данном аутентификаторе, необходимо переопределить метод initiateLogoutRequest () в самом аутентификаторе.Если вы посмотрите федеративный аутентификатор Google [2], то здесь нет реализации initiateLogoutRequest ().Но если вы посмотрите федеративный аутентификатор SAML [1], то есть реализация initiateLogoutRequest (), где он поддерживает федеративный выход из системы.

Поскольку initiateLogoutRequest () не переопределяется в федеративном аутентификаторе Google [2], будет вызываться AbstractApplicationAuthenticator -> initiateLogoutRequest (), который ничего не делает [3] [4].

Если вам действительно нужнореализовать федеративный выход из системы для аутентификатора Google, расширить федеративный аутентификатор Google [2] и внедрить initiateLogoutRequest () согласно требованию Google IDP.

[1] https://github.com/wso2-extensions/identity-outbound-auth-samlsso/blob/v5.1.12/components/org.wso2.carbon.identity.application.authenticator.samlsso/src/main/java/org/wso2/carbon/identity/application/authenticator/samlsso/SAMLSSOAuthenticator.java#L361

[2] https://github.com/wso2-extensions/identity-outbound-auth-google/blob/master/components/org.wso2.carbon.identity.application.authenticator.google/src/main/java/org/wso2/carbon/identity/application/authenticator/google/GoogleOAuth2Authenticator.java

[3] https://github.com/wso2/carbon-identity-framework/blob/v5.12.148/components/authentication-framework/org.wso2.carbon.identity.application.authentication.framework/src/main/java/org/wso2/carbon/identity/application/authentication/framework/AbstractApplicationAuthenticator.java#L118

[4] https://github.com/wso2/carbon-identity-framework/blob/v5.12.148/components/authentication-framework/org.wso2.carbon.identity.application.authentication.framework/src/main/java/org/wso2/carbon/identity/application/authentication/framework/AbstractApplicationAuthenticator.java#L196

...