我需要就如何确保我的应用提出了一些建议:使用Spring MVCREST认证/授权
我有一个REST服务,3
我有我的客户端应用程序,使用分机GWT 2.2
用户凭证仅在服务器端提供。
SSL提供
REST服务只能由authentificated用户使用。
我看了一下HTTP摘要,基于令牌的授权,OAuth的等等,但我需要一些澄清,并就如何确保我的使用建议,以及哪些方法是在我的情况是最好的。
我需要就如何确保我的应用提出了一些建议:使用Spring MVCREST认证/授权
我有一个REST服务,3
我有我的客户端应用程序,使用分机GWT 2.2
用户凭证仅在服务器端提供。
SSL提供
REST服务只能由authentificated用户使用。
我看了一下HTTP摘要,基于令牌的授权,OAuth的等等,但我需要一些澄清,并就如何确保我的使用建议,以及哪些方法是在我的情况是最好的。
这里是我们为应用程序创建的方法,效果非常好,而且非常安全。
这是一个非常概念化的解释,有很多的代码实现此起来,FYI
当用户进行身份验证或创建帐户,服务器返回的X.509证书,base64编码,即对用户来说是独一无二的。服务器存储一份副本。
每次客户端需要访问的REST API,客户端创建由以下的JSON字符串。
的用户唯一ID(用户名)
的每个参数我们再加密与X.509公钥字符串,并对其进行编码回的base64字符串,并借此加密值和用户ID添加到一个JSON对象我们称之为令牌。
然后我们把令牌到每个通话的头,并调用它是这样的:X-AUTH-UserToken
在每次调用服务器取令牌,查找基于用户ID的用户证书,然后验证令牌的加密部分可以用服务器为用户保存的私钥解密。
一旦解密,该服务器采用呼叫标识并验证它是独一无二的,对自己的calllog分贝。
如果签出,则用户通过身份验证。
一旦用户通过验证后,就可以根据用户的应用UNIQUEID自己的授权规则。
当然,以上所有都是通过SSL。
让我知道如果你需要我深入的任何部分。
太棒了!我一直在寻找这个。 – Mikecito 2011-04-27 22:29:30
您可能想要查看WebID http://www.w3。org/wiki/WebID这是一种标准化的方式来完成你似乎正在描述的内容。 – 2011-04-28 11:16:56
服务器在用户认证时通过SSL发送回临时令牌时,会话是不是充分安全?如果连接已通过ssl保护,额外证书有什么好处? – 2012-05-31 10:50:05