如何通过nodejs服务器使用下一个身份验证来授权用户?

问题描述 投票:0回答:2

我在 nextjs 应用程序中使用 next auth 进行用户身份验证,但我的端点位于 Nodejs 服务器上(而 next auth 逻辑位于 api/auth/[...nextauth] 文件中)。如何验证从 nextjs 应用程序向我的 Nodejs 服务器发送请求的用户是否已获得授权。

有没有办法将下一个身份验证设置的 jwt 令牌发送到 Node js 后端并进行验证,并查看用户是否经过身份验证?

node.js authentication next.js authorization next-auth
2个回答
0
投票

技术上应该是可行的。例如,您可以通过 Authorization 标头将 NextAuth 创建的 JWT 传递给 Node.JS API,并使用

NEXTAUTH_SECRET
的值对 JWT 进行解码。

const jwt = require("jsonwebtoken");

const decode = jwt.verify(token, "secret");

0
投票

来自 NextAuth 的 JWT 令牌已加密。如果您尝试对其进行解码,则会遇到故障。访问 JWT 令牌的详细信息

import { getToken } from 'next-auth/jwt';
const session = getToken({ req, secret: process.env.AUTH_SECRET });
© www.soinside.com 2019 - 2024. All rights reserved.