是否有任何巧妙的解决方案可以在客户端应用程序中进行存储client_id
和安全存储?client_secret
这可能是一个被反编译的 Android/iOS 应用程序。或以纯文本形式提供的 Chrome 扩展程序。
如果这些受到攻击者的攻击并冒充您的应用程序,那么依靠它的声誉来鼓励用户授权访问,对吗?
好奇这里有什么解决方案。谢谢!
对于移动应用,不推荐使用“授权码授予”场景,因为将 client_secret 存储在移动应用中并不安全。这就是该标准在机密客户和公共客户之间产生差异的原因(参见第2.1节)。
您应该改用“隐式授权”方案(为 javascript 和嵌入式应用程序创建)。它不包含client_secret,因为客户端无论如何都无法正确保护它,客户端只使用它的client_id。由于移动客户端被认为可能不安全,因此服务器不得发出刷新令牌,而只能发出短期访问令牌。