基于Vaadin Flow和Firebase的口令认证 [英] Password Authentication with Vaadin Flow and Firebase
本文介绍了基于Vaadin Flow和Firebase的口令认证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用https://start.spring.io设置了一个Spring Boot项目,包括Spring Security和Vaadin。然后,我将Vaadin版本设置为22.0.4,并按照本教程使用Vaadin Flow和Spring Security:https://vaadin.com/docs/v22/flow/tutorial/login-and-authentication
设置登录页面 这可以很好地工作,并根据具有虚拟用户的InMemoryUserDetailsManager
检查登录尝试。正如您在本教程中看到的,这是在WebSecurity
类中配置的,该类扩展了VaadinWebSecurityConfigurerAdapter
。
现在,我想使用电子邮件地址和密码对Firebase用户进行身份验证。因此,我设置了一个Firebase项目并添加了一个用户。我最初以为可以使用Firebase Admin SDK进行登录,但现在我认为这是不可能的。
如何使用Vaadin Flow作为前端框架,在Spring Boot应用程序中使用电子邮件地址和密码对Firebase用户进行身份验证?
推荐答案
FireBase有两种SDK:
- 其常规SDK设计用于客户端、不受信任的环境,例如Web前端、Android应用或iOS应用。
- ITSAdmin SDKs设计用于(通常是服务器端)受信任的环境,例如您的开发计算机、您控制的服务器或云函数/云运行。
因此无法在服务器端代码上登录到Firebase。这也没有多大意义,因为可能会有很多用户同时访问服务器,那么谁是当前用户呢?
相反,在Firebase中,您通常通过一个常规SDK对客户端的使用进行签名,然后(如果需要)将ID令牌传递给服务器,在服务器上,您的代码(如果可用,通过Admin SDK)可以decode that ID token并确定发出请求的用户。
您可以在Admin SDK中mint your own ID token,但是那里的流程保持不变,并且您通常使用它来实现自定义登录提供程序。
这篇关于基于Vaadin Flow和Firebase的口令认证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文