【发布时间】:2017-10-18 01:51:41
【问题描述】:
当 Android oauth 2.0 客户端应用程序具有客户端 ID 和客户端 Secret 硬编码时。反编译应用程序并检索凭据非常容易。 那么将这些凭据提供给 oauth 服务器有什么用。
【问题讨论】:
标签: security spring-security oauth oauth-2.0 spring-security-oauth2
当 Android oauth 2.0 客户端应用程序具有客户端 ID 和客户端 Secret 硬编码时。反编译应用程序并检索凭据非常容易。 那么将这些凭据提供给 oauth 服务器有什么用。
【问题讨论】:
标签: security spring-security oauth oauth-2.0 spring-security-oauth2
不建议将client_id 和client_secret 硬编码到本机应用程序中,即在移动应用程序场景中使用所谓的“机密客户端”,因为client_secret 不能保密。
本机应用程序通常是授权服务器的“公共客户端”,即没有client_secret 的应用程序。安全性来自于这样一个事实,即注册了一个唯一的重定向 URI,并应用了其他 OAuth 功能,如 PKCE (https://www.rfc-editor.org/rfc/rfc7636)。
有关将 OAuth 2.0 用于本机应用的一般建议,请参阅:https://datatracker.ietf.org/doc/html/draft-ietf-oauth-native-apps,尤其是安全注意事项:https://datatracker.ietf.org/doc/html/draft-ietf-oauth-native-apps-10#section-8
【讨论】: