基于Spring Security的令牌认证

3
我正尝试为一个使用Spring Security的HTTP api启用基于令牌的身份验证。
我查阅了一些关于实现过滤器和处理程序的答案,如Spring Security authentication via tokenSpring Security 3.2 Token Authentication。其中有一个相当有趣的KeyBasedPersistenceTokenService类。
在Spring Security中,难道没有过滤器或其他构建身份验证机制所需的元素吗?
1个回答

1
在Spring Security中,Token接口相当抽象 - 您需要提供自己的实现来携带实际的身份验证信息,并为已认证的用户或客户端提供自己的令牌发行端点,以及您提到的处理受保护资源上的令牌的过滤器(您发布的链接之一建议使用AbstractPreAuthenticatedProcessingFilter,这是正确的)。实际上并没有一种适合所有情况的解决方案。

您可能更适合使用OAuth2,因为它是一个标准,而且在Spring OAuth中得到了单独的支持。至少这样可以使您获得所有这些功能。

另一种有趣的令牌实现是Github的“安全HTTP” - 他们会给您一个令牌,您可以将其用作HTTP基本身份验证中的密码(广泛支持客户端,并且在Spring Security中也可以直接使用)。如果您要在Spring Security中实现它,则只需要插入一个UserDetailsService(并将其连接到某些令牌发行UI)。


我一直在研究Spring-OAuth2,但是我陷入了非常复杂的配置中。 - Rafael

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接