如何从命令行设置 firebase 自定义声明?
How to set up firebase custom claims from command line?
以前有人看过类似的问题,但我能找到的最新版本是 2018 年。
如何使用终端在 firebase 中设置自定义声明?
我想执行一个脚本,将具有指定电子邮件地址的用户设置为管理员。
脚本是:
const admin = require('firebase-admin');
admin.initializeApp()
const adminEmails = [
"test1@test.com",
"test2@test.com",
"test3@test.com"
]
for (let adminEmail of adminEmails) {
admin.auth().getUserByEmail(adminEmail)
.then(function(userRecord) {
// See the UserRecord reference doc for the contents of userRecord.
console.log('Successfully fetched user data:', userRecord.toJSON());
admin.auth().setCustomUserClaims(userRecord.uid, {admin: true}).then(() => {
// The new custom claims will propagate to the user's ID token the
// next time a new one is issued.
});
})
.catch(function(error) {
console.log('Error fetching user data:', error);
});
}
当我 运行 使用 node 时,我得到无效的凭据 - 我如何从命令行进行身份验证,是否可以 运行 一个脚本来创建这样的自定义声明?
错误消息表明您需要将具有服务帐户凭据的对象传递给 initializeApp()
以配置 Admin SDK,或设置 GOOGLE_APPLICATION_CREDENTIALS
env var,如 [=12] 中所述=].
以前有人看过类似的问题,但我能找到的最新版本是 2018 年。
如何使用终端在 firebase 中设置自定义声明?
我想执行一个脚本,将具有指定电子邮件地址的用户设置为管理员。
脚本是:
const admin = require('firebase-admin');
admin.initializeApp()
const adminEmails = [
"test1@test.com",
"test2@test.com",
"test3@test.com"
]
for (let adminEmail of adminEmails) {
admin.auth().getUserByEmail(adminEmail)
.then(function(userRecord) {
// See the UserRecord reference doc for the contents of userRecord.
console.log('Successfully fetched user data:', userRecord.toJSON());
admin.auth().setCustomUserClaims(userRecord.uid, {admin: true}).then(() => {
// The new custom claims will propagate to the user's ID token the
// next time a new one is issued.
});
})
.catch(function(error) {
console.log('Error fetching user data:', error);
});
}
当我 运行 使用 node 时,我得到无效的凭据 - 我如何从命令行进行身份验证,是否可以 运行 一个脚本来创建这样的自定义声明?
错误消息表明您需要将具有服务帐户凭据的对象传递给 initializeApp()
以配置 Admin SDK,或设置 GOOGLE_APPLICATION_CREDENTIALS
env var,如 [=12] 中所述=].