使用Spring安全性和Firebase身份验证的REST服务

使用Spring安全性和Firebase身份验证的REST服务,spring,rest,firebase,spring-security,firebase-authentication,Spring,Rest,Firebase,Spring Security,Firebase Authentication,是否有一种简单的方法将Firebase身份验证与Spring安全性集成(对于REST服务) 根据我所读的内容,我可能需要使用JWT令牌(通过Firebase获得),使用它来验证Spring服务,最后通过Firebase验证服务中的令牌。但是我找不到任何关于将JWT与Spring Security结合使用的(简单)文档 我还希望能够提供一个使用基本身份验证而不是JWT的/auth/login端点,以便我可以使用电子邮件/密码凭据通过Firebase获得JWT令牌。但这意味着在服务的一个端点启用基本

是否有一种简单的方法将Firebase身份验证与Spring安全性集成(对于REST服务)

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

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

简短回答:不

长答案:不管Firebase如何,您都应该创建自己的JWT。当您从Firebase收到JWT时,请验证其完整性。然后,根据令牌中的数据发布您自己的。然后,您只需要将其适应于各种OAuth提供者。这样可以避免每次请求时往返firebase


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

您是否想过使用预验证的过滤器?您“信任”Firebase完成的身份验证,然后将授权委托给spring security