【发布时间】:2011-12-27 10:31:35
【问题描述】:
阅读最新的 OAuth2 草案后,我不确定哪个流程适合我正在开发的客户端,或者 OAuth 是否适合。从我们的 API 提供的数据不是特定于用户的;拥有凭据只是授予用户访问我们数据的权限。
我正在构建的 JS 客户端将是一个不需要用户进行身份验证的公共页面。相反,“用户”是 JS 客户端本身。也就是说,有一个专门的帐户供此应用访问我们的 API。
目前我只是添加一个带有 HTTP Basic 凭据的 Authorization 标头,这有很多原因很糟糕。最重要的是,任何人都可以很容易地提取用户名和密码。
我在该场景的 OAuth 草案中看到的最接近的匹配项是隐式授权授予,但操作用户代理(Web 浏览器)的人似乎仍然必须与页面交互才能获得访问令牌。不得不说,单击一个按钮,然后往返到身份验证服务器,然后返回到 JS 客户端(通过redirect_uri)是不合适的。
另一方面,由于无法使用私钥(因为它是 JS),我无法想象如果不使用 redirect_uri 来验证客户端。
有人能帮我纠正一下吗?
【问题讨论】:
-
这看起来像是一个简单 cookie 的案例。创建一个一次性密钥,交给每个客户,几小时后过期(并在页面上根据需要更新)。
标签: javascript api oauth