Как показать электронную почту, предварительно заполненную в Google oauth, войдите в форму - PullRequest
0 голосов
/ 03 ноября 2018

Я использую WSO2 в качестве сервера идентификации и Google Autheatator в качестве провайдера идентификации. Логин работает правильно. В моем веб-приложении я прошу пользователя ввести свой адрес электронной почты и затем показать форму входа в Google. Я хочу показать это письмо, чтобы предварительно заполнить эту форму. Спасибо.

enter image description here

1 Ответ

0 голосов
/ 04 ноября 2018

Вы можете сделать это. Для этого вам нужно настроить OpenIDConnectAuthenticator.java для передачи логина login_hint в Google.

Рекомендуется проверить версию org.wso2.carbon.identity.application.authenticator.oidc на вашем сервере (вы можете найти ее в IS_HOME / repository / components / dropins /)

  • Добавьте эти строки перед response.sendRedirect(loginPage); в OpenIDConnectAuthenticator.java

            String[] usernames = context.getAuthenticationRequest().getRequestQueryParam("username");
            if (usernames != null && usernames.length > 0) {
                loginPage = loginPage + "&login_hint=" + usernames[0];
            }
    

Эти строки будут получать имя пользователя из запроса на инициирование аутентификации и отправлять его как login_hint в Google.

  • Создайте компонент с помощью следующей команды.

mvn clean install

Это создаст org.wso2.carbon.identity.application.authenticator.oidc-5.1.17.jar в целевой папке.

  • Замените существующий файл org.wso2.carbon.identity.application.authenticator.oidc-.jar в папке IS_HOME / repository / components / dropins.
  • Перезагрузите сервер IS
  • При отправке запроса аутентификации в IS добавьте username=senthalank@gmail.com в качестве параметра url

Например, https://localhost:9443/oauth2/authorize?response_type=code&client_id=<cliend_id>&redirect_uri=http://localhost:8080/playground2/oauth2client&scope=openid&username=senthalank@gmail.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...