【发布时间】:2016-03-27 15:29:36
【问题描述】:
我已经通过On a high level, how does OAuth 2 work?,但我还有一些具体的 质疑 oauth 2 的工作原理
以下是来自所述链接的 oAuth 的步骤顺序
Site-A 向 Site-B 注册,并获得一个 Secret 和一个 ID。
-
当用户告诉站点 A 访问站点 B 时,用户会被发送到站点 B,在那里他告诉站点 B 他确实想授予站点 A 访问特定信息的权限。
站点 B 将用户重定向回站点 A,并附上授权代码。
然后站点 A 将该授权代码连同其秘密一起传递回站点 B,以换取安全令牌。
站点 A 然后通过将安全令牌与请求捆绑在一起来代表用户向站点 B 发出请求。
我的问题是关于以下几点:-
1) 身份验证:- 哪个步骤以及它是如何发生的。没有人解释这里的身份验证实际上是如何发生的
My Understanding on this point:- 来自William Jones 的答案看起来好像发生在第 2 步。如果是,它是如何发生的?我相信它发生在
cookie 的帮助(如果用户已经登录并且如果没有服务,则当从相同的浏览器实例(如基于 java 的应用程序的 jsessionid)点击 url 时自动发送
提供者明确要求提供凭据)。对吗?
2) 授权码:- 我不确定这里的使用授权码有什么用。为什么站点 B 不能立即提供安全令牌。 我的意思是为什么步骤 4 和步骤 2 不能合并,其中 sita 通过 cookie 提供密码和经过身份验证的数据,而站点 B 提供安全令牌
3) 安全/访问令牌:- 我的理解是,一旦安全令牌被共享,站点 B 将仅基于此共享信息。假设站点 A 从站点获得安全令牌编号为 100 B 代表用户 X。现在如果站点 A 的用户 Y 获得一些安全令牌(我明白 它可能无法在 SSL 上嗅探它),然后他可以访问用户 X 的公共信息
【问题讨论】:
标签: authentication oauth oauth-2.0 authorization