使用Angular 2时,如何在使用Google等外部OAuth提供程序时以及通过Auth0或Firebase处理身份验证时要求填写强制性配置文件信息 .
让我解释一下我的情况:在我的用户档案中,我需要有用户的电子邮件地址,我需要(用于申请目的),用户给我他的生日和他们工作的城市 .
These two pieces of data, Birthday and City, may not be available in the Google Profile for example.
在应用程序中,我们将使用Firebase或Auth0进行身份验证 .
所以,我想知道的是如何完成场景的这些步骤 .
-
用户点击登录
-
用户决定使用Google通过Firebase或Auth0登录
-
我可以轻松检索数据库中的用户数据(Firebase)
-
I have to compare some user data is missing (first login or missing user data in the database)
-
If data is missing, how to block the user to make anything before he entered these required data? And redirect/show him only a form to enter these data
关于如何实现这一点的任何简单例子?
1 回答
对于Auth0方案,您可以通过利用rules functionality来自定义用户的身份验证管道来实现此目的 .
更具体地说,您可以使用redirect based rule确保用户在原始身份验证方法不能或缺少所述信息的情况下提供必要的附加信息 .
(重点是我的)
您的具体情况与提到的第一点非常相似,您将检测到特定情况,在您的情况下,用户没有生日和城市信息可用,并有条件地将用户重定向到将收集此信息的表单然后在提交时恢复认证过程 .
根据您所涉及的数据量和/或特定数据存储要求,您可以将收集的数据作为Auth0用户配置文件的一部分存储在所谓的user metadata中,或者使用您自己的商店 .
有关Auth0元数据存储的用例的指导,请查看User Data Storage Guidance .