我正在设计RESTful API / Web服务,期望它最终能够被多个客户端Web应用程序/消费者使用。作为此服务的一部分,我希望第一批消费者是网络浏览器,其中API /服务提供了一个可以访问API的网站。
是否有一种可行/安全的方式,OAuth 1.0a可用于消费者(在这种情况下,网站),最终由"相同"服务作为API本身?
主要是,如果通过网络发送消费者,我如何确保此消费者拥有有效的秘密消费密钥?有没有办法预先注册"在发送之前具有自己的消费者密钥的网页实例?
(我计划在此设计中使用HTTPS。)
任何直接的答案都表示赞赏,也欢迎任何可能回答我的问题的其他在线资料的引用。
感谢。
答案 0 :(得分:0)
在进一步的研究中,我发现OAuth 2.0的目标之一是考虑处理基于浏览器的Web应用程序的用例。
在Oauth 2.0中,基于浏览器的应用程序被视为"公共客户端;"规范有一个Implicit Grant工作流来处理这种类型的客户端。公共客户端是无法确保客户端标识符或客户端密钥保密的客户端,因此,隐式授权流程不明确依赖于它具有客户端密钥的要求。相反,客户端在获取访问令牌之前预先向授权服务器注册redirect-URI。
因此,简而言之,没有一种好方法可以通过线路传递客户机密码"在基于浏览器的应用程序中。 (或者至少不是我发现的好方法。)而是可以使用OAuth 2.0 Implicit Grant工作流程。