- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了一个问题,我似乎无法让我的 Identity Server 注销以首先显示确认。我从github下载了IdentityServer4的源码,在Models文件夹中找到了参数:LogoutRequest.cs,ShowSignOutPrompt。除了在注销期间检查它之外,IdentityServer 中没有对它的引用。
在调试中,我看到它是错误的。我不知道应该在哪里设置,我已经检查了服务器端和客户端的客户端配置选项,以及服务器启动的选项。
我在客户端代码中找不到“ShowSignoutPrompt”实例(我目前使用的是 IdentityServer3 Owin Hybrid 客户端示例)。
这是代码流程:
我们在默认布局中有一个按钮,用于触发客户端的 AccountController.Signout():
public void Signout()
{
Request.GetOwinContext().Authentication.SignOut();
}
return View("LoggedOut", vm);
return Redirect(vm.PostLogoutRedirectUri);
最佳答案
没有客户端属性来控制这一点。
注销客户端应用程序时调用 IdentityServer4 End Session Endpoint .
当客户端发送原始 id_token 时,可以绕过注销提示。
这作为 id_token_hint 参数传入。
此外,它指示注销请求是否已通过身份验证,因此不提示用户注销是安全的。
per ref
ShowSignoutPrompt 指示是否应根据传递给结束 session 端点的参数提示用户注销。
来源 PDF
注意 :
如果您使用的是 JavaScript OIDC-Client-JS库,'signoutRedirect' 方法将在内部进行检查,参见 _signoutStart method第 354 行,用于 id_token_hint 参数或用户 id_token。因此,如果您使用这个库来注销用户并想要强制退出屏幕,您将必须清除 user.id_token。
来自 _signoutStart() 的示例部分
_signoutStart(args = {}, navigator, navigatorParams = {}) {
...
var id_token = args.id_token_hint || user && user.id_token;
if (id_token) {
Log.debug("Setting id_token into signout request");
args.id_token_hint = id_token;
}
...
}
关于.net - IdentityServer4 登出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49113792/
我遇到了一个问题,我似乎无法让我的 Identity Server 注销以首先显示确认。我从github下载了IdentityServer4的源码,在Models文件夹中找到了参数:LogoutReq
我正在尝试使用 python CGI 为我的网站制作一个注销按钮。我想知道我怎么知道按钮何时被按下? 我的注销表单如下: 从这里,我知道我需要将表单存储在 FieldStorage 中,因
我在我的网络应用程序中使用 OAuth,用户可以使用 twitter 登录。 我想添加“切换 twitter 帐户”按钮,它实际上清除了 session ,然后打开了 authorize_url。 由
我正在从这个页面注销。它正在正确注销但是当按下后退按钮时它会再次登录。我已经给出了适当的 Intent 函数,但它并没有按照我的命令行事。请给我一个解决这个问题的建议。 WELCOME PAGE CO
我目前正在尝试创建一个用户可以使用他的 google+ 帐户登录的站点。大部分都在工作。我让他们授予访问我的网站的权限。他们可以登录,我会得到他们的姓名和用户 ID,我会在我的网站上显示特定于他们的
看例子在 https://www.parse.com/tutorials/integrating-facebook-in-ios 我不知道如何注销最终用户。 // from the viewcontr
我正在对 Google 帐户使用 Firebase 身份验证。登录过程工作正常,但我在注销时遇到问题。我成功注销了 firebase,但没有从谷歌注销。这意味着用户仍然登录到谷歌。我怎样才能从他们两个
我是一名优秀的程序员,十分优秀!