C# 在Identity Server 4中,是否可以使一个应用程序日志的注销用户退出所有应用程序?
我目前有一个.net核心应用程序,它使用Identity Server 4对用户进行身份验证。我们有两种不同的应用;我们网站的MVC部分,用户可以登录,以及用户必须登录的SPA。有没有可能让用户在任何时候注销其中一个区域,同时注销这两个区域 这是C# 在Identity Server 4中,是否可以使一个应用程序日志的注销用户退出所有应用程序?,c#,asp.net-core,asp.net-identity,identityserver4,C#,Asp.net Core,Asp.net Identity,Identityserver4,我目前有一个.net核心应用程序,它使用Identity Server 4对用户进行身份验证。我们有两种不同的应用;我们网站的MVC部分,用户可以登录,以及用户必须登录的SPA。有没有可能让用户在任何时候注销其中一个区域,同时注销这两个区域 这是单点登录的主要思想。不仅是单次登录,而且是单次注销。Identity Server 4完全支持这一点,但您只需使用正确的配置配置您的客户端(MVC应用程序和SPA)。是关于注销的正式文件。它起作用了 编辑 PS:请记住,一旦您注销,Identity Se
单点登录的主要思想。不仅是单次登录,而且是单次注销。Identity Server 4完全支持这一点,但您只需使用正确的配置配置您的客户端(MVC应用程序和SPA)。是关于注销的正式文件。它起作用了
编辑
PS:请记住,一旦您注销,Identity Server不会使访问令牌无效。换句话说,如果您仍然有访问令牌,只要它有效(其有效期尚未过期),您就可以使用它。这就是为什么通常将访问令牌设置为具有较短的生存期。这是单点登录的主要思想。不仅是单次登录,而且是单次注销。Identity Server 4完全支持这一点,但您只需使用正确的配置配置您的客户端(MVC应用程序和SPA)。是关于注销的正式文件。它起作用了
编辑
PS:请记住,一旦您注销,Identity Server不会使访问令牌无效。换句话说,如果您仍然有访问令牌,只要它有效(其有效期尚未过期),您就可以使用它。这就是为什么通常将访问令牌设置为具有较短的生存期。有两种前端通道方法可以实现这一点,我建议同时使用这两种方法
1) 使用针对每个客户端注册的端点的前端通道注销。当您注销IDS4时(假设它已正确实现),它将向在当前会话期间登录到的每个应用程序的已注册端点发出请求
2) 会话监视规范,它使用一点javascript和跨域iframe魔术,在用户的会话在IDP上发生更改时通知客户端应用程序。使用此选项,您可以立即响应更改并执行所需的任何清理
正如m3n7alsnak3的回答中提到的,这不会使任何JWT访问令牌无效(但是,您可以使用撤销端点撤销刷新或引用令牌)。因此,我建议让客户端应用程序尽其所能地清除任何状态,即清除所有cookie、会话/本地存储等。有两种前端通道方法可以实现这一点,我建议同时使用这两种方法
1) 使用针对每个客户端注册的端点的前端通道注销。当您注销IDS4时(假设它已正确实现),它将向在当前会话期间登录到的每个应用程序的已注册端点发出请求
2) 会话监视规范,它使用一点javascript和跨域iframe魔术,在用户的会话在IDP上发生更改时通知客户端应用程序。使用此选项,您可以立即响应更改并执行所需的任何清理
正如m3n7alsnak3的回答中提到的,这不会使任何JWT访问令牌无效(但是,您可以使用撤销端点撤销刷新或引用令牌)。因此,我建议客户机应用程序尽其所能清除任何状态,即清除所有cookie、会话/本地存储等