[英]Securing REST api with Token
最近几天,我一直在为此苦苦挣扎,并且在网络上找不到可靠,可理解的解决方案。
我有一个Web应用程序,由一个休息api和一个使用它的表示层组成。 表示层具有一个登录表单,用户引入的数据被发送到REST api,后者随后使用第三方服务来对用户进行身份验证。 我已经设置了这一部分。
我现在想要的是为每个后续请求引入基于令牌的身份验证,这样我就不必在每个请求上发送凭据,然后针对第三方服务再次进行身份验证。
因此,基本上,使用Spring Security(v。3.1.3),我不知道如何创建可靠,安全的令牌,将其返回给请求者,然后根据所述令牌对请求进行身份验证。
你能指出我正确的方向吗? 还是网上的一些例子?
服务器端REST应用程序是有状态的还是无状态的? 如果是有状态的,则无需使用常规HTTP会话执行任何特殊操作。 刚开始使用Spring Security,并且如果客户端和服务器已经在交换会话信息,那么受保护的API端点将立即可用。 唯一需要注意的是,如果您启用了CSRF保护,则在这种情况下,您需要对客户端进行一些调整。 有关详细信息,请参见Spring Security文档。
另一方面,如果REST应用程序是无状态的,则您将必须像建议的那样使用基于令牌的方法。 有关详细信息,请参见我对类似帖子的回答 。 如果您确实选择按照该答案中的步骤进行操作,则对问题的答案为:
SecureRandom
实例来生成强令牌。 因此,总的来说,基于令牌的身份验证/授权方法可以通过Spring Security并利用EHCACHE之类的缓存库轻松实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.