请观看此视频,具体时间从20.00到25.00。
他描述的工作流程是这样的: 客户端应用程序通过浏览器连接到授权端点。用户输入凭据,然后身份验证服务器对用户进行身份验证,并使用重定向发送身份验证代码。客户端应用拦截浏览器活动并提取身份验证代码。对令牌端点的新请求将与此身份验证代码,客户端ID和其他一些信息一起发出。作为回报,应用程序可以访问并刷新令牌。
是什么阻止某人在第一步(例如通过浏览器历史记录)中窃取auth令牌,然后联系令牌端点以获取访问权限并刷新令牌?
答案 0 :(得分:1)
首次授权码通常只在3分钟左右有效。第二授权码只能使用一次。第三个重定向uri必须是在oauth服务器上为此客户端注册的有效重定向
Oauth流
让我们用一些正确的术语来做到这一点。
资源所有者加载客户端,客户端会注意到该资源所有者未获得授权。资源所有者联系使用客户端ID(可能还包括客户端密钥)标识自己的权限并发送重定向uri,并请求范围。 (发送的某些内容取决于auth服务器的设置)
当局会通知此资源所有者未登录,提示他们登录。资源所有者登录并检查客户端最初请求的范围。提示资源所有者向客户端授予访问该范围的权限。
资源所有者同意访问。授权向客户返回授权码。
客户说好,我有一个授权码,并将授权码及其客户ID和密码返回给授权机构。这样,授权机构就知道这实际上是资源所有者授权的客户。
然后,Authority将访问令牌返回给客户端,供下一个小时使用。
然后不重新验证访问令牌。因此,如果有人窃取了此访问令牌,他们将可以使用它直到到期。