Firebase 基于谷歌授权用户;托管域“;

Firebase 基于谷歌授权用户;托管域“;,firebase,firebase-authentication,Firebase,Firebase Authentication,我正试图授权我的用户基于他们的谷歌“托管域”。这相当于他们的G套件组织,是谷歌OpenID声明中的“hd” 我认为自定义声明是放置此信息的好地方,这样我就可以在Firestore中执行request.auth.token.hd=='xyz.org' 我还想验证,当用户登录到我的应用程序时,他们仍然是组织的一部分 如何在Firebase中创建此解决方案 我是否应该使用签名和凭据检索数据?providerData是静态的还是每次调用Signing和RetrieveDataWithCredential

我正试图授权我的用户基于他们的谷歌“托管域”。这相当于他们的G套件组织,是谷歌OpenID声明中的“hd”

我认为自定义声明是放置此信息的好地方,这样我就可以在Firestore中执行
request.auth.token.hd=='xyz.org'

我还想验证,当用户登录到我的应用程序时,他们仍然是组织的一部分

如何在Firebase中创建此解决方案

我是否应该使用
签名和凭据检索数据
providerData
是静态的还是每次调用
Signing和RetrieveDataWithCredential
时都会更新

我想我需要
result.additionalUserInfo.profile
来获取索赔信息。它不会出现在
result.user.providerData
上,因为这是一个
UserInfo
数据数组

现在我认为棘手的部分是在数据库/自定义声明中以安全的方式更新它


可能应该绑定到激发云函数的
onIdTokenChanged
,该函数验证
googleUser.getAuthResponse().id\u令牌包含我的声明。然后用这些信息更新我的firebase id令牌声明。一旦我的自定义声明被更新,我将再次需要刷新我客户的ID令牌,因为自定义声明不会自动传播。

您的用户是否使用唯一的自定义域:user@xyz.org?是的,大部分情况下。