gpt4 book ai didi

node.js - .auth().verifyIdToken 错误 : Firebase ID token has incorrect algorithm. 预期 "none"但得到 "RS256"

转载 作者:行者123 更新时间:2023-12-03 12:19:14 24 4
gpt4 key购买 nike

通过使用解决了这个问题:“firebase serve --only hosting,functions”带有生产 Auth 的 verifyIdToken 按预期工作


我正在使用 firebase 构建 SPA,并在我的后端使用 Express.js 进行用户验证和路由。

在我的登录脚本中,如果用户登录,我使用 firebase-u-auth 进行 Google 登录

var app = firebase.initializeApp(config);
firebase.auth(app).setPersistence(firebase.auth.Auth.Persistence.LOCAL)
.then(() => {
firebase.auth(app).onAuthStateChanged(function (user) {
if (!user)
return;
redirectSuccesful(user);
});
});

function redirectSuccesful(user) {
// for development purposes, enable insecure cookies for http on local server
let secure = window.location.protocol.toLowerCase() === 'https:' || (window.location.hostname !== 'localhost' && window.location.hostname !== '127.0.0.1' && window.location.hostname !== '0.0.0.0');
user.getIdToken().then((token) => {
let expDate = expiryDateFromJwt(token);
let cookies = `__session=${token}; samesite=strict; path=/${expDate ? '; expires=' + expDate.toUTCString() : ''}${secure ? '; secure' : ''}`;
document.cookie = cookies;
window.location.assign('/');
});
}

在我的函数文件夹中,我使用 express with

const serviceAccount = require('...json');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "<my-url>"
});

expressApp.get('/', wrap (async function(req, res){
const token = getSessionToken(req); //custom function that gets clean saved token from session
if(token){
const decodedToken = await admin.auth().verifyIdToken(token);
...
}
}))

如果我在 https://jwt.io/ 中传递它, token 似乎是正确的,但是函数 verifyIdToken(token) 显示“Firebase ID token 算法不正确。预期为“无”但得到“RS256。参见 https://firebase.google.com/docs/auth/admin/verify-id-tokens有关如何检索 ID token 的详细信息。”

错误从何而来?管理配置?

谢谢!

最佳答案

您可以配置身份验证以与模拟器一起使用:

Connect your app to the Authentication Emulator


import auth = firebase.auth;
import FirebaseUser = firebase.User;

if (!environment.production) {
firebase.auth().useEmulator('http://localhost:9099/');
}

关于node.js - .auth().verifyIdToken 错误 : Firebase ID token has incorrect algorithm. 预期 "none"但得到 "RS256",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64748592/

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