我使用我的网站创建了Google联合登录。它用作身份验证层,因此我只有目标用户群。用户登录时如何以及从用户那里获得什么信息?
答案 0 :(得分:2)
关于获得的有关用户的信息,您可以查看可用属性列表以及将在the official documentation中检索到的信息。
但是对于您有关如何将“特定人群”列入白名单的问题:您可以做的是创建数据库安全规则,以检查auth object并根据其电子邮件地址限制访问。
{
"rules": {
".read": "(auth.token.email == 'mybuddy@gmail.com' || auth.token.email == 'anotherfriend@gmail.com')",
".write": "(auth.token.email == 'mybuddy@gmail.com' || auth.token.email == 'anotherfriend@gmail.com')"
}
}
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if isWhiteListedUser();
}
}
function isWhiteListedUser () {
return request.auth.token.email == 'mybuddy@gmail.com'
|| request.auth.token.email == 'anotherfriend@gmail.com';
}
}
如果您的Google登录名应限制在Gsuite帐户的某个域中,则也可以只检查要允许使用您的应用的their email addresses are ending with the domain。
".read": "auth.token.identifier.endsWith('@company.com')"
答案 1 :(得分:0)
确定的最简单方法是? ...使用浏览器开发人员工具(cntrl + shift + i)浏览用户对象。
在您的.onAuthStateChanged
观察者内部放了console.dir(firebase.auth().currentUser)
。
登录,然后检查您的开发工具控制台。现在,您将拥有一个可扩展的Firebase User对象,其中包含Firebase为该用户提供的所有内容。