Identityserver4 如何注销谷歌外部提供商?
现在我可以从Identity Server注销。但当重新登录时,我只需选择我的电子邮件地址,而无需重新输入密码,就可以通过谷歌登录来访问我的应用程序。 我想重新输入密码(因为设备在多个用户之间共享)。我跟着火车走了,但我肯定错过了什么 (我正在使用MVC客户端进行测试) 以下是客户端的配置:Identityserver4 如何注销谷歌外部提供商?,identityserver4,Identityserver4,现在我可以从Identity Server注销。但当重新登录时,我只需选择我的电子邮件地址,而无需重新输入密码,就可以通过谷歌登录来访问我的应用程序。 我想重新输入密码(因为设备在多个用户之间共享)。我跟着火车走了,但我肯定错过了什么 (我正在使用MVC客户端进行测试) 以下是客户端的配置: { "Enabled": true, "EnableLocalLogin": false, "ClientId": "backOffice.mvc", "ClientNa
{
"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");
})
非常感谢你的帮助!如果您需要更多信息,请告诉我:)不幸的是,Google没有通过
https://accounts.google.com/.well-known/openid-configuration
因此前频道注销不是一个选项
但是,您可以在authorize endpoint请求中提供一个额外的prompt=login
参数,以强制进行交互式身份验证。您可以通过检查auth_time
声明是否是适当的最新声明,在客户端强制执行此操作