基于Spring安全性的令牌认证

时间:2014-03-03 17:31:47

标签: java spring authentication spring-security

我正在尝试为具有spring security的HTTP api启用基于令牌的身份验证。

环顾四周,我看到了有关实现过滤器和处理程序(如

)的答案

Spring Security authentication via token

Spring Security 3.2 Token Authentication

有一个非常有趣的KeyBasedPersistenceTokenService类。

在spring security中是否没有构建认证机制所需的过滤器或其他元素?

1 个答案:

答案 0 :(得分:1)

Spring Security中的Token接口非常抽象 - 您需要提供自己的实现来携带实际的身份验证信息,以及您自己的端点,用于向经过身份验证的用户或客户端发送令牌,以及过滤您提及在受保护资源上处理令牌(您发布的其中一个链接建议使用AbstractPreAuthenticatedProcessingFilter并且这是正确的)。实际上没有一种适合所有解决方案。

您可能最好使用OAuth2,因为它是标准版,并在Spring OAuth中单独支持。至少你可以通过这种方式获得所有这些功能。

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