首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JWT和Google函数实现领域云的防火墙身份验证

使用JWT和Google函数实现领域云的防火墙身份验证
EN

Stack Overflow用户
提问于 2019-03-14 04:30:28
回答 1查看 263关注 0票数 1

我正在尝试使用JWT对领域云进行身份验证。我使用Firebase作为身份验证服务,并试图创建一个Google函数来生成JWT。我使用终端命令"ssh-keygen“生成私钥和公钥。王国的JWT教程建议使用以下代码行来读取密钥文件:

代码语言:javascript
复制
const key = fs.readFileSync('./functions/id_rsa', 'utf8'); 

我将私钥复制到项目中,将上面的代码指向文件,但当我部署Google函数时,收到了以下错误消息:

functionsmyAuthFunction(us-⚠1):部署错误。函数在加载用户代码时失败。错误信息:无法加载文件index.js中的代码。代码中有语法错误吗?详细的堆栈跟踪:错误: ENOENT:没有这样的文件或目录,打开‘./function/id_rsa’

我的项目结构如下:图片

我曾试图在领域的论坛上询问,但我没有得到多少帮助。他们建议的整个云功能是:

代码语言:javascript
复制
const functions = require("firebase-functions");
const jwt = require('jsonwebtoken');
const fs = require('fs');
const key = fs.readFileSync(’pathToMyPrivateKeyFile');
exports.myAuthFunction = functions.https.onCall((data, context) => {    
    const uid = context.auth.uid 
    const payload = { userId: uid }    
    const token = jwt.sign(payload, { key: key, passphrase: "your-passphrase" }, { algorithm: 'RS256'}),    
    return { token:token }
});

总之,google云功能如何读取我的项目中的私钥文件?公钥存储在我的领域云仪表板中,用于特定实例。

资料来源:领域云JWT Firebase教程

EN

回答 1

Stack Overflow用户

发布于 2020-02-03 16:39:44

试着只传递./id_rsaid_rsa。我相信路径根目录是index.js文件所在的位置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55154976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档