【问题标题】:Does OAuth 1.0a "Work" When Service Provider Provides The Consumer当服务提供商提供消费者时,OAuth 1.0a 是否“工作”
【发布时间】:2015-02-18 21:31:41
【问题描述】:

我正在设计一个 RESTful API/Web 服务,期望它最终能够被多个客户端 Web 应用程序/消费者使用。作为该服务的一部分,我希望第一个消费者是网络浏览器,其中 API/服务提供了一个可以访问 API 的网站。

是否有一种可行/安全的方式可以将 OAuth 1.0a 用于最终由与 API 本身“相同”的服务提供的消费者(在本例中为网站)?

主要是,如果这个消费者是通过网络发送的,我如何确保它拥有一个有效的秘密消费密钥?有没有办法在发送之前使用自己的消费者密钥“预注册”网页实例?

(我计划在此设计中使用 HTTPS。)

感谢您提供任何直接的答案,也感谢任何对可能回答我的问题的其他在线材料的引用。

谢谢。

【问题讨论】:

    标签: security authentication web oauth authorization


    【解决方案1】:

    在进一步的研究中,我发现 OAuth 2.0 的目标之一是考虑处理基于浏览器的 Web 应用程序的用例。

    在 Oauth 2.0 中,基于浏览器的应用程序被视为“公共客户端”;该规范有一个隐式授予工作流来处理这种类型的客户端。公共客户端是无法确保客户端标识符或客户端机密保密的客户端,因此,隐式授予流程不明确依赖于它具有客户端机密的要求。相反,客户端在获得访问令牌之前向授权服务器预先注册了一个重定向 URI。

    因此,简而言之,在基于浏览器的应用程序中“通过网络”传递客户端机密并不是一个好方法。 (或者至少不是我发现的好方法。)相反,可以使用 OAuth 2.0 Implicit Grant 工作流程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-28
      • 1970-01-01
      • 2011-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多