Oauth 如果有人在Oath2流中窃取了授权代码,会发生什么
请参阅此视频,具体时间为20:00至25:00 他描述的工作流程如下: 客户端应用程序通过浏览器连接到授权端点。用户输入凭据,authserization server对用户进行身份验证,并使用re-direct发送身份验证代码。客户端应用程序截取浏览器活动并提取身份验证代码。将向令牌端点发出一个新请求,并附上此身份验证代码、客户机id和少量其他信息。作为回报,应用程序获得访问和刷新令牌Oauth 如果有人在Oath2流中窃取了授权代码,会发生什么,oauth,oauth-2.0,Oauth,Oauth 2.0,请参阅此视频,具体时间为20:00至25:00 他描述的工作流程如下: 客户端应用程序通过浏览器连接到授权端点。用户输入凭据,authserization server对用户进行身份验证,并使用re-direct发送身份验证代码。客户端应用程序截取浏览器活动并提取身份验证代码。将向令牌端点发出一个新请求,并附上此身份验证代码、客户机id和少量其他信息。作为回报,应用程序获得访问和刷新令牌 是什么阻止某人在第一步(比如通过浏览器历史记录)窃取身份验证令牌,然后联系令牌端点以获取访问权并刷新令牌?
是什么阻止某人在第一步(比如通过浏览器历史记录)窃取身份验证令牌,然后联系令牌端点以获取访问权并刷新令牌?先发授权码通常仅在3分钟内有效。第二个授权码只能使用一次。第三个重定向uri必须是在oauth服务器上为此客户端注册的有效uri
- Client=您的应用程序
- 授权=身份或oauth2服务器(授权)
- resource owner=您希望访问其数据的用户
然后不会重新验证访问令牌。因此,如果有人偷了这个访问令牌,他们将能够使用它,直到它过期。所有这些都不能消除我强调的问题。任何人在此时间段内窃取未使用的身份验证代码都可以访问令牌。我不知道为什么重定向uri与此相关?除非在3分钟内盗取未使用的身份验证代码的人在服务器上注册了有效的重定向uri,他们可以将刷新令牌返回到服务器,否则他们将无法获得任何返回。一些oauth服务器甚至要求您在交换授权码时也发送客户端密码。正如DaImTo所提到的,
/token
端点需要身份验证(用于匹配/auth
请求的客户端ID的客户端密码)或作为一次性密码的客户端密码。因此,即使身份验证代码被盗,攻击者仍然需要被攻击客户端的密码或code\u验证器
来获取令牌。谢谢@DalmTo。当您说客户端使用授权服务器进行身份验证时,实际发生了什么?您能详细说明一下吗?@DaImTo您能详细说明一下您所说的授权服务器客户端身份验证是什么意思吗?