【问题标题】:Storing OAuth2 client_id and client_secret securely in a client side app在客户端应用程序中安全地存储 OAuth2 client_id 和 client_secret
【发布时间】:2013-11-02 12:50:16
【问题描述】:

是否有任何巧妙的解决方案可以将client_idclient_secret 安全地存储在客户端应用程序中?

这可能是一个被反编译的 Android/iOS 应用。或者是纯文本格式的 Chrome 扩展程序。

如果这些被攻击者入侵并冒充您的应用程序,那么利用它的声誉来鼓励用户授权访问,对吗?

很好奇这里有什么解决方案。谢谢!

【问题讨论】:

  • “捎带信誉鼓励用户授权访问”是什么意思?

标签: security oauth oauth-2.0


【解决方案1】:

对于移动应用,不建议使用“授权码授予”方案,因为将 client_secret 存储在移动应用中并不安全。这就是该标准在机密客户和公共客户之间产生差异的原因(参见2.1 部分)。

您应该改用“隐式授权”方案(为 javascript 和嵌入式应用程序创建)。它不包含 client_secret,因为客户端无论如何都无法正确保护它,客户端仅使用其 client_id。由于移动客户端被认为可能不安全,因此服务器不得发出刷新令牌,而只能发出短期访问令牌。

【讨论】:

    猜你喜欢
    • 2021-02-02
    • 2014-03-21
    • 1970-01-01
    • 2016-02-10
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    相关资源
    最近更新 更多