我目前正在做一个小项目。我用flutter作为前端,用springboot作为后端。我想让springboot应用程序在树莓派上本地运行。
现在我想知道,如果有可能实现一个firebase(电子邮件/密码)像身份验证/授权在springboot(不使用firebase或任何其他基于云的解决方案),你不必登录每次你打开应用程序。
或者你可以将它与facebook, instagram, snapchat,…在所有这些应用程序中,您将始终保持登录状态。
在springboot中有什么可能的方法来实现这个?
我的意思是我可以在手机上存储登录凭据,但我想这不会是安全的或正确的方式,对吗?
当您接近时,有几种方法可以在移动应用程序中验证您的最终用户。
使用电子邮件密码- 使用电话号码验证
- 使用第三方认证提供商(facebook, gmail等)
在不了解目标终端用户的情况下,很难确定合适的认证机制。
到目前为止,你正在开发一个flutter应用程序并针对移动用户,我假设你的最终用户在他们的移动设备中安装了一些sim卡,并且使用基于电话号码和otp的解决方案对你的最终用户来说似乎没有摩擦。
您可以使用firebase admin sdk,提示用户输入他们的电话号码并将otp发送到该电话号码,然后向最终用户询问正确的otp。将otp发送回firebase, firebase将给您一个idToken (firebase领域中的令牌)。将该idToken传递给服务器(spring boot rest服务),并从firebase验证它。Firebase将回复用户详细信息(基本上是电话号码)
整个过程包括设置一个firebase项目,安装管理sdk以及在移动应用程序和spring启动端进行一些调整。
更多信息从这里开始https://firebase.google.com/docs/admin/setup