【发布时间】:2020-04-09 19:33:22
【问题描述】:
我们有 3 个应用程序:运行 IdentityServer、SPA、带有休息服务的 webapi 的管理站点。
在第一个(使用 IdentityServer)上,我们有一些额外的管理 ui。存在一个要求,即连接的用户无需身份验证即可从我们的 SPA 应用程序无缝转到此管理 ui。因此,通过重定向从一个 Web 应用程序到另一个 Web 应用程序。
问题是如何使两个“会话”保持同步,以便在至少一个正在使用时不会过期?
问题示例: 应用设置:
- spa_web.com - 我们的 spa 应用程序 -> 获取有效期为 1 小时的访问令牌和刷新令牌。
- authorityWithIdServer.com - 我们的 ID 提供者网站 -> 有一个 cookie 维护会话设置为 1 小时到期。
步骤: 1. 首先我们去 spaWeb.com。 2. 用户需要通过身份验证,因此被重定向到 authorityWithIdServer.com,他在此填写登录表单。 3. 使用授权码流,我们被重定向回 spaWeb.com 并最终获得本地存储的访问令牌和刷新令牌。 4. 我们只使用 spa 应用程序几个小时。我们的访问令牌会使用刷新令牌定期更新。 5. 现在我们决定转到 authorityWithIdServer.com 上的管理界面。 6. 我们再次获取登录表单以登录该应用程序。
是否可以在我们使用 spaWeb.com 时滑动 authorityWithIdServer.com 的 cookie,以免被强制再次登录。
【问题讨论】:
-
为什么要投反对票?
标签: oauth identityserver4 openid-connect asp.net-core-3.0