当Android oauth 2.0客户端应用程序具有客户端ID并且客户端密钥在其中进行硬编码时。很容易反编译应用程序并检索凭据。 那么为oauth服务器提供这些凭据有什么用。
答案 0 :(得分:3)
不建议将client_id
和client_secret
硬编码到本机应用中,即使用所谓的"机密客户端"在移动应用场景中,完全是因为client_secret
无法保密。
本机应用程序通常是"公共客户端"到授权服务器,即没有client_secret
的授权服务器。安全性来自于注册了唯一的重定向URI并应用了PKCE(https://tools.ietf.org/html/rfc7636)等其他OAuth功能。
有关对原生应用使用OAuth 2.0的一般建议,请参阅:https://tools.ietf.org/html/draft-ietf-oauth-native-apps,尤其是安全注意事项:https://tools.ietf.org/html/draft-ietf-oauth-native-apps-10#section-8