OAuth 2.0登录的正确注销流程是什么

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

我们假设有一个Identity Server用于登录和注销。然后你有一个Android应用程序,它使用OAuth 2.0通过IS4登录和注销。现在,当您登录时,您将单击Android应用程序上的登录按钮,通过Web浏览器重定向到您登录的身份服务器,然后您将被重定向回应用程序。让我们假设所有这些都有效,并在整个过程结束时获得访问令牌。

我遇到的问题是应该注意到你的行为。现在我了解Android应用程序,您只需清理访问令牌和刷新令牌,用户就无法访问应用程序中的任何位置。但是,在您的浏览器上,您仍然登录。所以这是我迷失的部分。

要完全注销,我现在必须将用户重定向到Web浏览器以注销,因此现在至少有2次注销点击才能实际注销。如果我采用正确的设计,我还应该有一个确认窗口来缓解某些攻击,现在可以通过3次点击来退出。然后在你想到的所有地方之后?这是困扰我的部分。我应该将您留在网络浏览器中还是应该将您推回到应用登录界面?

只是为了澄清我的问题,因为它们实际上是两个:

  1. 我是否应该将用户重定向到要注销的网站,还是应该只将用户退出应用程序?
  2. 如果我也在网站上注销用户,我应该让用户坐在浏览器打开的位置,还是让用户坐在应用程序打开的位置?基本上,最终目的地是什么?
oauth oauth-2.0 asp.net-identity identity logout
1个回答
2
投票

您的身份提供者知道会话并将令牌存储在其数据库中。要在单点注销的意义上真正注销,您需要在身份提供商处注销。

Open-Id-Connect提供端点以发出注销请求。见规范的第5节。 https://openid.net/specs/openid-connect-session-1_0.html

© www.soinside.com 2019 - 2024. All rights reserved.