如何保护Oauth 2.0客户端ID和客户端密钥

时间:2017-05-18 09:56:58

标签: security spring-security oauth oauth-2.0 spring-security-oauth2

当Android oauth 2.0客户端应用程序具有客户端ID并且客户端密钥在其中进行硬编码时。很容易反编译应用程序并检索凭据。 那么为oauth服务器提供这些凭据有什么用。

1 个答案:

答案 0 :(得分:3)

不建议将client_idclient_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