OAuth足够安全,我看到客户端秘密正在通过客户端过去

时间:2017-06-11 02:42:13

标签: authentication web oauth oauth-2.0

我正在讨论这个例子: https://www.digitalocean.com/community/tutorials/how-to-use-oauth-authentication-with-digitalocean-as-a-user-or-developer

获取代码后(用户已在身份验证服务提供程序上进行了身份验证),我向该服务器提交了另一个POST,这次包括client_Secret。 https://cloud.digitalocean.com/v1/oauth/token?client_id=client_id& client_secret = client_secret &安培;代码= code_from_user_redirect&安培; grant_type = authorization_code&安培; REDIRECT_URI = callback_URL

这个部分不应该只在服务器端隐藏和完成吗? 我在这里缺少另一层安全措施吗? (这是基于浏览器的流程)。

1 个答案:

答案 0 :(得分:0)

这是因为该示例适用于authorization code grant type,正如您所提到的,客户端应用程序不应该使用它,因为它会泄露客户端密钥。

如果您打算使用客户端应用(移动应用,JavaScript等),您应该更喜欢implicit grant type。您将直接获得访问令牌,但缺点是您将无法选择刷新令牌。 Here是DigitalOcean文档的更多详细信息。