我编写了一个应用程序,该应用程序分发了将安装在消费者的Web应用程序(例如对讲机,Hotjar等)上的小部件,并且我想利用无密码身份验证来验证我的用户。
从外观上看,Firebase无密码身份验证会将链接发送到用户的电子邮件地址,单击该链接将被重定向。就我所知,这是一个小部件,因此无法重定向到用户的应用程序,因为在Firebase控制台中将该应用程序列入白名单是没有意义的。
重定向到主应用程序(您将在其中获取小部件的代码)也没有意义,因为用户将在主应用程序而非小部件中通过身份验证。
在我看来,理想的解决方案似乎是发送OTP代码,用户可以将其复制/粘贴到小部件本身的文本字段中。
我已经仔细阅读了文档,尝试实现无密码身份验证,从而得出了上述结论。由于您无法真正编辑电子邮件模板,因此我开始觉得此用例与Firebase无密码身份验证的用途不符。
我想减少用户的登录摩擦,我还想验证他们的电子邮件地址,以便以后可以向他们发送通知/新闻信等。
其他身份验证提供程序(如基于OAuth2的身份验证提供程序)围绕着用户已注册该特定服务这一事实而展开。匿名身份验证允许用户登录,但不能确保每个用户都有唯一的电子邮件地址。电子邮件/密码身份验证具有较高的摩擦力。
我正在寻找一种类似于auth0的无密码身份验证,但是与firebase auth相比,auth0对免费计划的限制更为详细。
任何帮助,建议或指示都会有所帮助!
资源:
Firebase无密码身份验证:https://firebase.google.com/docs/auth/web/email-link-auth
auth0无密码身份验证:https://auth0.com/passwordless/
答案 0 :(得分:1)
通过阅读Authenticate with Firebase Using Email Link和Passing State in Email Actions上的文档,我认为这不是完全受支持的方案。但是您可以通过以下方式模仿它:
oobCode
。credentialWithLink
创建凭据。尽管这涉及很多,所以您必须自己权衡是否值得付出努力。一个更简单的流程是: