REST认证/授权
我需要一些关于如何保护我的应用程序的建议:
我有一个使用Spring MVC 3的REST服务
我有我的客户端应用程序,使用Ext GWT 2.2
用户凭证仅在服务器端提供。
SSL可用
REST服务只能由经过认证的用户使用。
我已阅读过关于HTTP摘要,基于令牌的授权,oAuth等,但我需要一些关于如何保护我的应用程序的澄清和建议,以及哪些方法对我来说是最好的。
这里是我们为我们的应用程序创建的方法,工作得很好,而且非常安全。
这是一个非常概念性的解释,有很多代码支持这个,FYI
当用户进行身份验证或创建帐户时,服务器将返回一个x.509证书,base64编码,该证书对用户是唯一的。 服务器存储一份副本。
每次客户端需要访问REST API时,客户端都会创建一个由以下内容组成的JSON字符串。
用户唯一ID(用户ID)
然后我们使用x.509公钥对该字符串进行加密,然后将其编码回base64字符串,并将此加密值并将UserID添加到我们称之为令牌的json对象。
然后我们将令牌放入每个调用的头部,并将其称为:X-Auth-UserToken
在每次调用服务器获取令牌时,根据用户ID查找用户证书,然后验证令牌的加密部分可以使用服务器为用户保留的私钥解密。
一旦解密,服务器就会根据自己的calllog数据库采用CallID并验证它是唯一的。
如果检出,则用户通过认证。
一旦用户通过身份验证,您就可以根据用户uniqueID应用您自己的授权规则。
当然,以上都是通过SSL。
让我知道你是否需要我钻取任何零件。
链接地址: http://www.djcxy.com/p/22271.html