如何统一获得FirebaseUser的自定义声明

时间:2019-03-02 06:55:01

标签: firebase unity3d firebase-authentication jwt

我统一使用firebase auth进行用户登录。

当用户加入时,客户端向我的my server发送加入请求,而my server将为用户设置自定义声明(userNumber)。(当前,服务器使用firebase-admin-dotnet)< / p>

用户加入后,客户端重新登录以刷新。 目前,我想获得令牌中的自定义声明。但我在FirebaseUser类中找不到相对方法。.

1 个答案:

答案 0 :(得分:0)

自v6.6(2019年11月)起,Unity SDK中缺少自定义声明访问权限。您可以添加一个服务器函数来返回当前用户的自定义声明:

// Either use an existing User ID
UserRecord user = await FBAuth.GetUserAsync (uid);
return user.CustomClaims; // user.CustomClaims ["userNumber"]

// OR use a verified ID token
FirebaseToken token = await FBAuth.VerifyIdTokenAsync (idToken);
return token.Claims; // token.Claims ["userNumber"]

重要提示::如果您使用计费服务服务器(例如Cloud Functions),则此方法将产生计费费用,这与内置Firebase方法不同。

其他平台(Android,iOS,Web)已经具有此方法(getIdTokenResult),因此我向Firebase提交了功能请求,以将其包含在将来的版本中。