【发布时间】:2019-08-02 17:29:48
【问题描述】:
我在我的 Angular 应用程序上使用了 firebase。 现在,我想做的很简单。
我的应用中有数据,我希望只有某些用户可以访问这些数据,我向这些用户发送了注册链接。
此注册链接将用户带到一个页面,他们可以在其中填写个人信息(姓名、电话号码、出生日期)并选择一种身份验证方式:电子邮件/密码或 Google 登录。
在另一个页面上,我们称之为“登录页面”,他们使用与注册时相同的方式登录。
如果他们选择电子邮件/密码,一切正常,我可以将访问权限限制为只允许之前注册并验证过他们的电子邮件地址的用户。
但在使用谷歌登录时,任何拥有谷歌账户的人都可以访问应用程序上的所有数据,即使他们之前没有注册。
据我所知,这是因为电子邮件/密码验证使用了两个步骤:
createUserWithemailAndPassword(email, password)
这会创建一个新用户
signInWithEmailAndPassword(email, password)
仅在用户完成第一步的情况下对用户进行身份验证。
但对于 Google 身份验证(以及 Twitter 和 Facebook),您只有一个登录方法,没有注册步骤的迹象,您可以在其中过滤哪些人可以访问您的应用。
那么,我是否遗漏了什么,或者这是 firebase 身份验证工作的唯一方式?
非常感谢
马修
【问题讨论】:
标签: angular firebase firebase-authentication