我需要在以下位置实现用户身份验证:
- 用户得到一个链接,在链接上有一个令牌加密他的一些详细信息(id 等)和到期时间 ==> 这个 URL 在我的应用程序之外并且已经实现
- 当用户点击链接时,我需要解密令牌并解析数据,但我不需要将它与数据库中的数据进行比较。只检查时间没有过期并取出数据(id等)
你能指导我使用哪些类吗?我已经阅读了很多,现在我认为我需要扩展 AbstractPreAuthenticatedProcessingFilter 以从 URL 中获取令牌并对其进行解密,但我不确定身份验证提供程序,以及是否需要 userService 实现?
谢谢!
编辑:
我一直在阅读更多内容,现在我不确定我是否需要 PreAuthenticated 类,因为它不像用户之前已经过身份验证,我仍然需要对他进行身份验证。身份验证实际上是看到解密有效并且尚未达到到期时间。你有什么建议?我开始编写自己的过滤器(扩展 AbstractAuthenticationProcessingFilter),然后我看到我需要自己的 AuthenticationToken 实现,因为 UsernamePasswordAuthentication 不适合我,然后在提供程序中我也找不到真正适合的东西。
任何帮助都将不胜感激。我正在考虑只扩展 AbstractAuthenticationProcessingFilter 但不使用身份验证管理器,因为它只会让我变得更复杂。你怎么看?