Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Authentication OAuth 2.0访问令牌能否用于在另一个上下文中对用户进行身份验证?_Authentication_Oauth_Oauth 2.0 - Fatal编程技术网

Authentication OAuth 2.0访问令牌能否用于在另一个上下文中对用户进行身份验证?

Authentication OAuth 2.0访问令牌能否用于在另一个上下文中对用户进行身份验证?,authentication,oauth,oauth-2.0,Authentication,Oauth,Oauth 2.0,我想知道是否允许在应用程序之间传递用户的OAuth 2.0访问令牌,并将其用作登录它们的方法 我有一个iPhone应用程序,它使用密码授权对用户进行身份验证,然后在将来的请求中使用他们的访问令牌。iPhone应用程序还可以在一个选项卡中打开我们的网站,我希望用户在该选项卡打开时登录到我们的网站 在OAuth2.0规范下,是否允许将该令牌传递给web请求,并让web服务器对该请求进行身份验证和用户登录 例如,浏览器可能会打开以下位置(但使用标题而不是查询字符串): 或者,可以使用用于OAuth身份

我想知道是否允许在应用程序之间传递用户的OAuth 2.0访问令牌,并将其用作登录它们的方法

我有一个iPhone应用程序,它使用密码授权对用户进行身份验证,然后在将来的请求中使用他们的访问令牌。iPhone应用程序还可以在一个选项卡中打开我们的网站,我希望用户在该选项卡打开时登录到我们的网站

在OAuth2.0规范下,是否允许将该令牌传递给web请求,并让web服务器对该请求进行身份验证和用户登录

例如,浏览器可能会打开以下位置(但使用标题而不是查询字符串):

或者,可以使用用于OAuth身份验证和重定向的专用端点

因此,实际上,我的问题分为两部分;OAuth 2.0令牌能否在应用程序上下文之间共享,以及令牌能否用于在另一个上下文中对用户进行身份验证?

在OAuth 2.0规范()中,有几个方面可能是相关的。基本上,
客户端
可以接收由多个
资源服务器接受的
访问令牌
,但是如果
客户端
由多个具有不同安全上下文的
组件组成,它应该注册每个组件并使用不同的令牌:

跨多个资源服务器的单个令牌

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.
具有多个组件的单个客户端

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.

请注意,OAuth 2.0访问令牌不会对用户进行身份验证@汉斯。但是,本文确实提到了访问令牌可以用作身份验证的证明,并且可以用它们换取用户凭据。所以,撇开语义不谈,我可以使用另一个应用程序提供的访问令牌登录网站上的用户帐户吗?OAuth 2.0访问令牌由授权服务器提供。它们可以在多个网站(资源服务器)上使用,前提是这些网站能够识别授权服务器。我不清楚在这种情况下,
组件是什么。此外,如果iPhone应用程序和网站是两个独立的客户端,这是否意味着它们不能共享访问令牌?在这种情况下,
组件将是分布式应用程序的一部分,例如由移动应用程序和服务器应用程序组成的应用程序,两者都需要访问用户的资源。在这种情况下,移动和服务器应用的安全上下文将不同,移动应用是
公共
(不安全)客户端类型,服务器应用是
机密
(安全)客户端类型。由于应用程序的两个部分具有不同的安全上下文,因此它们应该分别注册并使用单独的访问令牌。