如何注销Google外部提供商?

时间:2019-09-26 15:36:55

标签: identityserver4

现在,我可以注销Identity Server。但是,当重新登录时,我可以选择我的电子邮件地址-无需重新输入密码-通过Google访问我的应用程序。 我想重新输入密码(因为该设备在多个用户之间共享)。我遵循了documentation,但是我必须缺少一些东西。

(我正在使用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 :(得分:0)

不幸的是,Google不会通过end_session来发布https://accounts.google.com/.well-known/openid-configuration端点,因此,不可以选择退出前渠道。

但是,您可以在授权端点请求中提供附加的prompt=login参数,以强制进行交互式身份验证。您可以通过检查auth_time声明是否适当来在客户中强制执行此操作。