我有一个http Cloud函数,它希望在Authorization标头中传递一个jwt标记(类似于Will在这个问题中的答案:How to protect firebase Cloud Function HTTP endpoint to allow only Firebase authenticated users?)。此云功能使用函数admin.auth().verifyIdToken(<token>)
验证令牌。在我的客户端代码中,我使用代码firebase.auth().currentUser.getIdToken(false)
生成一个令牌,以包含在上述标头中的http请求中。
我希望能够以编程方式给出用户的uid,最好是在Node中生成此令牌,以便我可以为我的函数编写测试,而无需通过我的Web应用程序获取令牌。
我尝试使用admin.auth().createCustomToken(<uid>)
,但这不会创建可以使用admin.auth().verifyIdToken
验证的令牌。我也尝试按照本指南https://firebase.google.com/docs/database/rest/auth中的步骤操作,但生成的令牌不是verifyIDToken
接受的令牌,尽管我可以使用它对数据库进行REST调用(如指南中所述)