Firebase云功能-createCustomToken

弗兰克·斯宾

将新的Firebase Cloud Functions与admin sdk结合使用。

我想使用admin.auth()。createCustomToken()函数。调用此函数会导致错误消息

Error: createCustomToken() requires a certificate with "private_key" set.
    at FirebaseAuthError.Error (native)
    at FirebaseAuthError.FirebaseError [as constructor] (/user_code/node_modules/firebase-admin/lib/utils/error.js:25:28)
    at new FirebaseAuthError (/user_code/node_modules/firebase-admin/lib/utils/error.js:90:23)
    at FirebaseTokenGenerator.createCustomToken (/user_code/node_modules/firebase-admin/lib/auth/token-generator.js:62:19)
    at Auth.createCustomToken (/user_code/node_modules/firebase-admin/lib/auth/auth.js:89:37)
    at /user_code/index.js:29:26
    at process._tickDomainCallback (internal/process/next_tick.js:129:7)

如何配置云功能以使用private_key?

admin.initializeApp(functions.config().firebase);
gr

不幸的是,该createCustomToken()方法需要一个私有密钥来创建自定义令牌,而默认证书(恰好是Application Default Credential当前不可用使用Firebase Admin SDK创建自定义标记中所述,您需要提供证书凭据才能创建自定义标记。

您可以按照将Firebase添加到您的应用程序中的说明来生成此证书所需的证书拥有密钥JSON文件后,您需要将其放入Cloud Functions for Firebase。

您可以通过存储密钥JSON文件你在做这个/functions文件夹中service-account.json然后,在定义函数的文件中,用于admin.credential.cert()初始化Admin SDK,如下所示:

const functions = require('firebase-functions');
const admin = require('firebase-admin');

var serviceAccount = require("./service-account.json");
admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: functions.config().firebase.databaseURL
});

有关如何执行此操作的完整示例,包括更详细的说明和代码示例,请查看Instagram登录示例

请注意,我们希望createCustomToken()将来增加对默认凭据的支持,但就目前而言,您将必须拥有自己的凭据才能使此特定方法起作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章