如果有人在偷OAuth2流程的授权码,会发生什么

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

请参阅本视频,特别是从20.00到25.00。

https://azure.microsoft.com/en-us/resources/videos/new-authentication-model-for-web-mobile-and-cloud-applications/

他所描述的工作流程是这样的:客户端应用程序通过浏览器连接到授权终点。用户输入凭证,和authserization服务器认证用户和使用再直接向auth代码。客户端应用程序拦截浏览器活动,并提取了授权码。一个新的请求时与该授权码,客户端ID和一些其他信息一起令牌终点。作为回报,应用程序获得访问和刷新令牌。

是什么阻止窃取身份验证令牌在第一个步骤(通过浏览器历史说了),然后接触令牌终点获得接入和刷新令牌一些呢?

oauth oauth-2.0
1个回答
1
投票

首先授权码仅用于一般约3分钟好。第二个授权码只能使用一次。第三重定向URI必须是已注册为该客户的OAuth服务器上的一个有效

  1. 该客户端启动通过引导资源所有者的用户代理的授权端点的流量。客户端包括在其客户端标识符,请求范围,本地状态,以及重定向URI到授权服务器将所述用户代理发送回一旦访问被授予(或拒绝)。
  2. 所述授权服务器验证该资源的所有者(经由用户代理)并建立是否资源所有者授予或拒绝客户端的接入请求。
  3. 假设资源所有者授予访问权限,授权服务器将用户重定向代理回使用URI前面提供的重定向(在该请求或客户端注册时)客户端。重定向URI包括由所述客户端以前提供一个授权代码和任何本地状态。
  4. 客户端通过包括在上一步中收到的授权码请求来自授权服务器的令牌端点访问令牌。在进行请求时,客户端与授权服务器进行身份验证。该客户端包括URI用于获得用于验证的授权码重定向。
  5. 授权服务器验证客户端,验证所述授权码,并确保URI接收重定向匹配URI用于重定向在步骤(C)中的客户端。如果有效,则授权服务器访问令牌,以及任选,刷新令牌返回响应。

#section-4.1

端Oauth流

让我们用一些正确的术语做到这一点。

  • 客户端=您的应用程序
  • 权威=同一性或的oauth2服务器(机构)
  • 资源拥有者要访问=用户卫生组织的数据。

资源所有者负载客户端,客户端注意到资源拥有者没有被授权。资源拥有者接触授权使用客户端ID和可能的客户端密钥,并发送重定向URI标识本身,并请求作用域。 (一些送来的东西取决于auth服务器的设置)

当局注意到没有登录这个资源所有者会提示他们登录。在资源拥有者登录并检查什么作用域最初请求的客户端。提示资源所有者授予说作用域客户端访问。

enter image description here

资源拥有人同意访问。管理局返回给客户端的授权码。

客户说好的我有一个授权码,并返回到权力的授权码和客户端ID和密码。这样,当局知道,这其实是资源所有者的授权客户端。

当局然后返回一个访问令牌回,它可用于下一小时的客户端。

访问令牌不那么重新验证。因此,如果有人偷了此访问令牌,他们将能够直到它过期使用它。

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