spring - 使用 Spring Security 和 Firebase 身份验证的 REST 服务

标签 spring rest firebase spring-security firebase-authentication

是否有一种简单的方法可以将 Firebase 身份验证与 Spring Security 集成(用于 REST 服务)?

根据我的阅读,我可能需要使用 JWT token (通过 Firebase 获得),使用它来验证 Spring 服务,最后通过 Firebase 在服务中验证 token 。但是我找不到任何(简单的)关于将 JWT 与 Spring Security 结合使用的文档。

我还希望能够提供一个使用基本身份验证而不是 JWT 的/auth/login 端点,以便我可以使用电子邮件/密码凭据通过 Firebase 获取 JWT token 。但这意味着在服务的一个端点启用基本身份验证,在所有其他端点启用 JWT 身份验证。不确定这是否可能。

最佳答案

简短回答:不。

长答案:无论 Firebase 是什么,您都应该创建自己的 JWT。当您从 Firebase 收到 JWT 时,请验证其完整性。然后,根据 token 中的数据发行您自己的。然后你只需要适应各种 OAuth 提供者。这样,您可以避免每次请求都往返于 firebase。

为了在每个请求上对用户进行身份验证(无状态身份验证),您添加了一个具有最高优先级的过滤器。从您正在过滤的 http 请求中,获取 JWT 并验证其完整性。如果一切顺利,请在 SecurityContextHolder 中设置身份验证。

关于spring - 使用 Spring Security 和 Firebase 身份验证的 REST 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40767325/

相关文章:

javascript - Firebase 基于 promise 的身份验证流程始终重定向

ios - 我应该从 UIViewController 中的 firebase 加载数据到哪里

java - 我是否应该考虑对 Spring Rest Controller 层使用 DTO 而不是实体?

java - 从 HQL 中获取带有特殊字符的数据

java - 两个@RequestMapping注解的区别

java - 如何从Spring的每个请求中获取cookie?

http - Rest API - 好友集合创建

java - SPRING BOOT - 如何从 Super POM 访问类

REST API - ALPS UI(类似 Swagger UI)

javascript - Firebase 实时数据库一次更新多个节点