IdentityServer4:作为授权周期的一部分,使 cookie 身份失效或注销

问题描述 投票:0回答:1

我有一个由 IS4 外部实例进行身份验证的网站。

我添加了通过身份验证代码登录的功能,该代码是通过 ACR 值传递的。

它可以工作,但为了稳健性,我添加了一些验证检查,以检查 IS4 域上是否存储了现有的 IS4 身份 cookie(例如之前的登录)。在这种情况下,我需要使 IS4 身份无效/注销当满足某些条件时 cookie。

我遵循了这个问题的答案中给出的建议:

在重定向到客户端应用程序之前在 IdentityServer 登录中添加检查

但是,IS4 只是向用户呈现验证错误。

是否有任何方法可以让 IS4 使身份 cookie 失效并向用户显示登录屏幕,就像没有现有身份 cookie 时那样?

我考虑在执行错误操作时寻找特殊的错误代码,注销并重定向回应用程序,以便它可以重复身份验证周期,但是错误对象上的

RedirectUrl
属性有点无用,因为它具有客户端的oidc 登录 url,如果我重定向到该地址,应用程序将期望对该端点做出正确的响应以完成周期。

c# asp.net-core identityserver4
1个回答
0
投票

我刚刚在博客中介绍了如何使 ASP.NET Core 中发布的 cookie 失效,网址为

通过减少 Cookie 来提高 ASP.NET Core 安全性

默认情况下,当您注销时,在 ASP.NET Core 中发布的 cookie 不会“失效”,并且通过使用已发布 cookie 的会话存储(通过 AddCookie),您可以使任何会话 cookie 失效。

也许您可以将相同的技术应用于 IdentityServer。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.