Как выйти из внешнего провайдера Google? - PullRequest
0 голосов
/ 26 сентября 2019

Прямо сейчас я могу выйти из Identity Server.Но при входе в систему я могу просто выбрать свой адрес электронной почты - без необходимости повторного ввода пароля - чтобы войти через Google для доступа к моему приложению.Я хочу повторно ввести свой пароль (потому что устройство используется несколькими пользователями).Я следовал за документацией , но я должен что-то упустить.

(я использую клиент MVC для тестирования) Вот конфигурация клиента:

  {
    "Enabled": true,
    "EnableLocalLogin": false,
    "ClientId": "backOffice.mvc",
    "ClientName": "BackOffice client",
    "ClientSecrets": [
      {
        "Value": "xxx"
      }
    ],
    "AllowedGrantTypes": [
      "hybrid"
    ],
    "AllowedScopes": [
      "openid",
      "offline_access",
      "profile"
    ],
    "RedirectUris": [
      "http://localhost:5098/signin-oidc"
    ],
    "PostLogoutRedirectUris": [
      "http://localhost:5098/"
    ],
    "RequireConsent": false,
    "AllowOfflineAccess": true
  }

И настройки провайдера:

                .AddOpenIdConnect("Google", "Google", options =>
                {
                    options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme;
                    options.ForwardSignOut = IdentityServerConstants.DefaultCookieAuthenticationScheme;

                    options.Authority = "https://accounts.google.com/";

                    options.ClientId = Configuration["GoogleClientId"];

                    options.CallbackPath = "/signin-google";

                    options.Scope.Add("email");
                })

Большое спасибо за любую помощь!И, пожалуйста, дайте мне знать, если вам нужна дополнительная информация:)

1 Ответ

0 голосов
/ 26 сентября 2019

К сожалению, Google не объявляет конечную точку end_session через https://accounts.google.com/.well-known/openid-configuration, поэтому выход из фронтального канала невозможен.

Однако вы можете указать дополнительный параметр prompt=login в авторизации.запрос конечной точки при попытке принудительной интерактивной аутентификации.Вы можете применить это в своем клиенте, проверив, что претензия auth_time является относительно недавней.

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