1

客户端上的大多数 oauth2 实现都需要某种重定向,您将用户重定向到登录页面,在成功登录和授权后,使用查询字符串或哈希片段中的令牌重定向回您的站点。但是 google+ 登录按钮是如何工作的,它永远不会重定向你。我知道您可以在窗口内执行此操作,并将接收令牌的窗口报告回其父窗口,但在这种情况下,登录按钮必须控制消费者域上的一个页面,这 afaik,它没有。

4

1 回答 1

2

您将外部 JavaScript 加载到您的域中,它可以访问该页面。与从 CDN 加载 jQuery 之类的内容没有太大区别。

JavaScript 能够使用启动的授权窗口并从该窗口检索授权对象,然后客户端库在客户端设置和使用令牌。如果您需要服务器端令牌,则需要执行一次性代码流,这比通过重定向的典型 OAuth 服务器端流更安全。

于 2013-06-20T17:51:29.533 回答