OAuth2:查询字符串与片段
刚刚注意到,在OAuth2中,当请求的授权类型为“代码”时,回调将其包含在查询字符串参数中(在'?'之后)。 但是,当授予是“令牌”时,它将作为片段传递(在'#'之后)。
这看起来是规范的一部分(http://tools.ietf.org/html/draft-ietf-oauth-v2-26#section-4.2)
这个决定背后的理由是什么?
谢谢,彼得
当浏览器被网站重定向到带有查询参数的URL时,查询字符串也是浏览器现在发送给主机的请求的一部分。 碎片只在您的网络浏览器本地进行评估,不包含在对主机的请求中。
如果授权代码授权 (通常有一个Web应用程序)直接与提供商通话,则将数据发送到主机正是您需要的:
在隐式授权的情况下,您通常会在浏览器中直接运行一些JavaScript应用程序。 不需要将任何授权代码传递给主机,并且在大多数情况下,也不需要将访问令牌发送到主机,因为浏览器中的JS可以直接与提供者交谈。 通过这种方式,您可以在服务器上创建网站,该服务器使用从其他提供商查询的信息,并经过用户同意,而服务器永远不会访问用户的任何机密数据。 (如果是可信网站,则不会将访问令牌发送到服务器。)
链接地址: http://www.djcxy.com/p/48007.html上一篇: OAuth2: query string vs. fragment
下一篇: Can OAuth 2.0 support multiple grants in a single redirection journey?