【问题标题】:REST service using Spring Security and Firebase Authentication使用 Spring Security 和 Firebase 身份验证的 REST 服务
【发布时间】:2017-04-07 15:09:25
【问题描述】:

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

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

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

【问题讨论】:

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

标签: spring rest firebase spring-security firebase-authentication


【解决方案1】:

简短回答:不。

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

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

【讨论】:

    猜你喜欢
    • 2011-08-16
    • 2014-03-18
    • 2014-07-03
    • 2013-12-05
    • 2019-05-29
    • 2014-12-25
    • 2016-03-20
    • 2016-04-30
    • 2015-05-30
    相关资源
    最近更新 更多