我正在将用于移动应用程序的 rest API 添加到我现有的 grails web 应用程序中。由于我很难将 OAuth2 提供程序集成到我的应用程序中,因此我将实现自己的 HMAC 机制。
HMAC 使用 key ,我想要的是,应用程序的每个用户都有自己的 key 。现在的问题是我最初如何以安全的方式在 API 和移动设备之间传输 secret 。
当然,所有通信都将通过 SSL。但是,当第一次通过网络连接时,将客户端密码从服务器发送到移动客户端是否安全?
或者我应该使用一个 secret 并将其存储在移动客户端中,这可以很容易地进行逆向工程?
或者也许有其他更好的方法来做到这一点?
最佳答案
您可能想查看 shared key authentication schemes并实现自定义机制。
以下是 Amazon 如何将其用于 REST 请求的示例:
http://docs.aws.amazon.com/AWSECommerceService/latest/DG/Query_QueryAuth.html
和示例java代码
http://docs.aws.amazon.com/AWSECommerceService/latest/DG/AuthJavaSampleSig2.html
关于REST Api 身份验证 - 交换私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17168115/