如何在Firebase函数中检查应用程序



我有两个Android应用程序,我称之为"appClient"one_answers"appServer"。我使用Firebase身份验证来注册并进一步登录这两个应用程序,但在appClient上注册的用户无法登录appServer,反之亦然。因此,我找到了一种方法来区分每次注册新用户时调用Firebase函数的用户,并将自定义声明包括在内。以下是自定义索赔文档:https://firebase.google.com/docs/auth/admin/custom-claims

我正在使用这个代码

// On sign up.
exports.processSignUp = functions.auth.user().onCreate((user) => {
// Check if user meets role criteria.
if ("how to check if the incoming user came from appClient or appServer???") {
const customClaims = {
client: true
};
// Set custom user claims on this newly created user.
return admin.auth().setCustomUserClaims(user.uid, customClaims)
.then(() => {
// Update real-time database to notify client to force refresh.
const metadataRef = admin.database().ref("metadata/" + user.uid);
// Set the refresh time to the current UTC timestamp.
// This will be captured on the client to force a token refresh.
return metadataRef.set({refreshTime: new Date().getTime()});
})
.catch(error => {
console.log(error);
});
}
});

但我没有找到一种方法来检查新用户来自哪个应用程序。有办法检查一下吗?

当前无法确定用户在创建帐户时使用的是哪个应用程序。auth-onCreate类型函数的唯一输入是类型为UserRecord和EventContext的两个参数。

如果你仔细查看这些对象的属性,你将看不到任何能识别应用程序的东西。您需要找到另一种设置自定义声明的方法,可能是将用户的UID和一些标识数据传递到HTTP或可调用类型函数中。

相关内容

  • 没有找到相关文章

最新更新