我想知道是否允许在应用程序之间传递用户的OAuth 2.0访问令牌,并将其用作登录的方法。
我有一个iPhone应用程序,它使用密码授权来验证用户身份,然后将其访问令牌用于将来的请求。 iPhone应用程序还可以在选项卡中打开我们的网站,我希望用户在此选项卡打开时登录我们的网站。
根据OAuth 2.0规范,是否允许将该令牌传递给Web请求并让Web服务器进行身份验证并将用户登录以获取该请求?
例如,浏览器可能会打开以下位置(但使用标题而不是查询字符串):
https://example.com/account?access_token=foo_bar
或者,可以使用OAuth身份验证的专用端点和重定向。
所以实际上,我的问题分为两部分;可以在应用程序上下文之间共享OAuth 2.0令牌,并且可以使用令牌在另一个上下文中对用户进行身份验证吗?
答案 0 :(得分:1)
在OAuth 2.0规范(RFC 6749)中,有几个区域可能相关。基本上client
可以接收多个access_token
接受的resource_servers
,但如果client
由多个components
组成且具有不同的安全上下文,则应该注册每一个并使用不同的令牌:
跨多个资源服务器的单个令牌
A single authorization server may issue access tokens accepted by
multiple resource servers.
包含多个组件的单个客户端
A client may be implemented as a distributed set of components, each
with a different client type and security context (e.g., a
distributed client with both a confidential server-based component
and a public browser-based component). If the authorization server
does not provide support for such clients or does not provide
guidance with regard to their registration, the client SHOULD
register each component as a separate client.