OAuth 2.0可以在单个重定向旅程中支持多个授权吗?

我的问题很简单:

如果您有两个Web应用程序组件:

  • PHP,Python,Perl等服务器端(具有秘密功能)的代码......无论如何
  • javascript输出并由浏览器解释
  • 给定授权端点的单个重定向(并返回)是否可以指定和传输以下信息:

  • 授权码授权(用于服务器端代码)
  • 一个隐含的授权,具有受限制的Javascript权限
  • 从而在不违反RFC的情况下一次往返传递两个授权(一个在请求url本身,另一个在片段中)?

    一个重定向循环似乎比每个许可的清理循环更清晰(即使第二个循环由于以前的授权而不会被阻止)

    提前致谢!

    参考

  • http://tools.ietf.org/html/draft-ietf-oauth-v2-16#section-4.2
  • 编辑1: code_and_token似乎是我之后的事情的类型...授权服务器使用其凭据请求访问代码的授权代码授权...以及JavaScript的隐式标记。 正如mov matake提到的那样,它是在v11之后从RFC中拉出来的,没有真正注意到为什么。 Facebook和谷歌似乎支持这一点,这让我怀疑它会回来。


    token_and_code请求类型已从规范中删除,因为它需要安全分析和规则方面的重要工作,并且没有人愿意这样做。 它最初由Twitter工程师在不久之后离开工作组提出。

    它不会被添加到规范中,但可以通过扩展轻松引入。 谷歌支持列表中的这个流程,但后来表示他们不会实现它,而是使用HTML5功能实现其他功能。


    OAuth 2.0之前有“code_and_token”响应类型(可能是“token_and_code”)。 但之后它已从规格中删除。

    因此,在目前的规范中,如果你需要为你的服务器编写代码,那将是

  • 使用“代码”响应类型
  • 在服务器端获取访问令牌
  • 并把它交给客户端
  • 您不能只为客户端获取受限范围的令牌,但是您也可以在您的服务器端为您的客户端代码设置一个代理。


    http://www.ietf.org/mail-archive/web/oauth/current/msg04969.html和http://www.ietf.org/mail-archive/web/oauth/current/msg03655.html

    说,“code_and_token”类型是好的,但是RFC并没有把它足够清楚,以至于片段中的令牌(对于Javascript)应该/可能具有比由访问码获得的令牌更少的权限...

    感谢Nov Matake指出code_and_token类型是规范的一部分(在某一点上),因为我在旧规范版本中遗漏了它(尽管它被广泛实现)。

    看起来它会复出,因为Google和Facebook现有的实施得到了很好的支持,并且似乎是一次核心请求,一次往返支持用户代理令牌和服务器端访问代码。

    这个问题似乎是在这个上下文中定义了“范围”的语义,并且定义了范围在一个请求中可以不同的程度。 有意义的是,用户代理令牌具有有限的权限,即与客户端应用程序的权限不同。

    我们将拭目以待......涉及RFC背后的缺点。

    链接地址: http://www.djcxy.com/p/48005.html

    上一篇: Can OAuth 2.0 support multiple grants in a single redirection journey?

    下一篇: OAuth php oauth