Vercel边缘函数不支持Firebase admin SDK,因此我如何验证客户端请求并从id令牌获取Firebase用户对象(uid、电子邮件、名称、自定义声明)?
有一个介绍(https://firebase.google.com/docs/auth/admin/verify-id-tokens)使用第三方库来验证id令牌,但仅此而已。
Vercel边缘函数不支持Firebase admin SDK,因此我如何验证客户端请求并从id令牌获取Firebase用户对象(uid、电子邮件、名称、自定义声明)?
有一个介绍(https://firebase.google.com/docs/auth/admin/verify-id-tokens)使用第三方库来验证id令牌,但仅此而已。
1条答案
按热度按时间fdbelqdn1#
下面的库模块使用
jose
来处理令牌的验证。它是徒手编写的,所以可以预料到拼写错误。该模块公开了两个方法:verifyIdToken(req: NextRequest, firebaseIdToken: string)
(出错时拒绝)和verifyIdTokenWithInlineError(req: NextRequest, firebaseIdToken: string)
(从不拒绝,而是在返回的对象中返回错误)。**注意:**此代码当前不会与Firebase Auth签入以查看令牌是否已被吊销。
使用Vercel的
hello.ts
示例作为基础,您可以这样使用它: