我的情况:
我正在使用 Duende 身份服务器使用授权类型“authorization_code”在浏览器扩展和移动应用程序中进行身份验证。对于身份验证,我的客户被重定向到我们的 IdentityServer 实现,这是一个受 Duende 快速启动示例启发的 AspNet 核心应用程序。我的客户端是“多身份”,这意味着用户可以向客户端添加多个身份,并通过按按钮在身份之间切换。
这一切都工作正常,但是......
在身份服务器上登录应该只允许客户端使用访问令牌等访问我们的后端,但不应该让用户在身份服务器上保持登录状态。
由于 AspNet core 使用的身份验证 cookie,我认为上次登录的用户每次访问身份服务器时都会保持登录状态。这是一个潜在的安全问题,但也会让用户感到困惑,因为由于我们软件的多身份性质,登录的身份可能不是用户期望的身份。因此,在允许用户在身份服务器上执行帐户操作之前,我们首先注销用户,以便用户可以在预期帐户下显式登录。这是可行的,但不够方便。所以我的问题是,
我们是否可以不使用此类 cookie,而让身份服务器仅执行密码验证(包括重定向到外部登录提供商)并处理 oidc(访问/身份/引用/刷新)令牌?对于帐户操作,用户通过 Web 浏览器直接登录身份服务器。