REST Api身份验证 - 交换私钥

时间:2013-06-18 11:50:57

标签: rest authentication grails hmac

我正在将移动应用程序的rest API添加到我现有的grails Web应用程序中。由于我很难将OAuth2提供程序集成到我的应用程序中,因此我将实现自己的HMAC机制。

HMAC使用密钥,我想要的是,应用程序的每个用户都拥有自己的密钥。现在问题是如何在API和移动设备之间以安全的方式传输秘密。

当然,所有通信都将通过SSL进行。但是,当第一次通过网络连接时,将客户端密钥从服务器发送到移动客户端是否安全?

或者我应该使用一个秘密并将其存储在移动客户端中,这可以很容易地进行逆向工程?

或许还有其他更好的方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

您可能需要查看shared key authentication schemes并实施自定义机制。

以下是亚马逊如何将其用于REST请求的示例:

http://docs.aws.amazon.com/AWSECommerceService/latest/DG/Query_QueryAuth.html

和示例java代码

http://docs.aws.amazon.com/AWSECommerceService/latest/DG/AuthJavaSampleSig2.html