我是哈希科普·沃尔特的新手。我希望使用Hashicorp保护我的客户端id和OAuth2密码流的机密。每次调用后端REST时,它都需要客户端id和机密,以及用户名和密码的用户凭据。我如何以一种安全的方式做到这一点,并且只允许我的应用程序传递它而不在我的javascript客户机中披露这一点?
谢谢。
约翰
发布于 2016-12-25 14:44:28
如果我正确地阅读了您的问题,您就有了一个Javascript应用程序来调用您自己的(REST)后端服务。该调用使用客户端id、客户端机密、用户名和密码进行保护。这就提出了几个问题:
客户端id和机密,以及用户名和密码的用户凭据。
这似乎是错误的方法:OAuth安全资源(您的REST后端服务)不应该需要用户名和密码。在用户中登录是在授权服务器中完成的。
试着从阅读OAuth2-spec (RFC 6749)或DigitalOcean教程来进行全面的概述。
我如何以一种安全的方式做到这一点,并且只允许我的应用程序传递它而不在我的javascript客户机中披露这一点?
你不能:客户端机密不能在客户端控制的应用程序中被保护,因为一个邪恶的客户端可以反向工程你的应用程序(或者读取你的javascript)。你所拥有的被称为“公共客户”,即不能保密的客户。在这种情况下,你不使用客户机密。试着从这个问题或oauth2客户端类型介绍开始。
https://stackoverflow.com/questions/41315241
复制相似问题