gpt4 book ai didi

firebase - 您从 Firebase 哪里获取/找到 JWT-Secret?

转载 作者:行者123 更新时间:2023-12-04 11:41:30 24 4
gpt4 key购买 nike

我正在为我的网络/移动应用程序使用 firebase,现在我也希望使用一个后端 API。
API 需要一个 JWT token 来验证请求并设置它,我需要指定用于加密/解密 token 的 JWT secret 。

在 firebase 中,我相信我使用检索 token
const token = await firebase.auth().currentUser.getIdToken();这是我传递给 API 的内容。

但是,我还没有弄清楚在哪里可以配置 JWT-secret?我已经尝试了 firebase 控制台中显示的 API key ,我还尝试了在我的控制台中找到的服务器/客户端 key https://console.developers.google.com .

但是,无论如何,在尝试向 API 调用发出请求时,我都会收到 JWSInvalidSignature。

有没有人让这个工作?我在哪里可以从 firebase 获取 JWT-secret 以在 API 后端进行配置?提前致谢。

以下是详细信息:
1. 我正在使用一个名为 postGrest 的服务,它会在 postgres DB 之上自动创建一个 Web API。为了对请求进行身份验证,您通过指定一个名为“role”的自定义声明来配置服务,您还需要指定 JWT-secret 以便它可以解码 token 。

这是我对 API 的简单调用:

           const fetchdata = async () => {
const token = await firebase.auth().currentUser.getIdToken();

let axiosConfig = {
headers: {
'Authorization': 'Bearer' + token
}
}
const data = await axios.get(`http://localhost:8080/users`,
axiosConfig);
}

另请注意,我可以使用以下代码在 bash 命令行中模拟这一点:请注意,我从上面的 getIdToken() 获取 token 。
   export TOKEN="eyJhbGciOiJSUzI1NiIsImtpZCI6ImQ2YzM5Mzc4YWVmYzA2YzQyYTJlODI1OTA0ZWNlZDMwODg2YTk5MjIiLCJ0eXAiOiJKV1QifQ.eyJ1c2VyaWQiOiI1NSIsImlzcyI6Imh0dHBzOi8vc2VjdXJldG9rZW4uZ29vZ2xlLmNvbS9wb3N0Z3Jlc3QtYjRjOGMiLCJhdWQiOiJwb3N0Z3Jlc3QtYjRjOGMiLCJhdXRoX3RpbWUiOjE1NzExNTIyMjQsInVzZXJfaWQiOiJNMXZwQ3A2ZjlsaFdCblRleHh1TjlEdXIzUXAyIiwic3ViIjoiTTF2cENwNmY5bGhXQm5UZXh4dU45RHVyM1FwMiIsImlhdCI6MTU3MTE1OTQ0NSwiZXhwIjoxNTcxMTYzMDQ1LCJlbWFpbCI6InNwb25nZWJvYkBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsImZpcmViYXNlIjp7ImlkZW50aXRpZXMiOnsiZW1haWwiOlsic3BvbmdlYm9iQGdtYWlsLmNvbSJdfSwic2lnbl9pbl9wcm92aWRlciI6InBhc3N3b3JkIn19.nKuovs0Gx_ZKp17dI3kfz6GQofIMEOTA8RqTluwEs-5r-oTbKgpG33uS7fs7txVxvWIb_3fbN3idzfDHZevprMkagbHOd73CxTFBM7pr1bD2OKSK9ZPYfSt9OhvgJL51vBN3voLcNAb5iWVVl2XMqkcXeDoBi8IOKeZr27_DsRx48GSi7HieHWscF1lujSEr2C9tdAek3YyNnr3IcGI8cTSPHPaIbYl-8CaHQO2fUiGHEAaD7sqHxp3otJio56zOoNAy44P_nwORlMFZC0Rm8SaATpbmIkgbGYWHZHty70lmlYGVHTuM_hr2s7z2YhAjuacvBMgusZpyoVnoe3FQeA"

curl http://localhost:8080/contacts -H "Authorization: Bearer $TOKEN"

返回的是: {"message":"JWSError JWSInvalidSignature"}

对于 JWT 的 secret ,我尝试了几个值,但似乎没有一个有效。这包括来自 firebase 项目的“API key ”,以及尝试下载新 .json 文件的“生成 key ”,其中有一个“private_key”:即字符串。

最佳答案

来自 your service account下载的文件,使用 private_key验证/解码您从 getIdToken() 获得的 JWT token 的值...
steps for using a third-party library要验证 Firebase 身份验证 ID token ,请更详细地描述它。

关于firebase - 您从 Firebase 哪里获取/找到 JWT-Secret?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58399462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com