我想在localhost/get/point?token=hello
中获取查询令牌。
import { NextResponse } from 'next/server'
import base64url from 'base64url'
type Params = {
token: string
}
export async function GET(req: Request, context: { params: Params }) {
const token = req.query.token
const tokenData = JSON.parse(base64url.decode(token.split('.')[1]))
const verifyResult = Jwt.verify(token)
if (verifyResult == JwtStatusCode.TokenExpired) {
return NextResponse.json({ error: 'Token expired', message: 'Token expired'}, { status: 401 })
} else if (verifyResult === JwtStatusCode.TokenInvalid) {
return NextResponse.json({ error: 'Token invalid', message: 'Token invalid' }, { status: 401 })
}
const data = await client.user.findMany({
where: { name: tokenData.name }
})
if (data.length != 0) {
NextResponse.json({
point: data[0].point,
message: 'Success'
}, { status: 200 })
}
}
在pages目录中,我使用req.query,但在Next13应用程序目录中它是什么?
我尝试了URL分割,但我认为它不是有效的。
1条答案
按热度按时间3pmvbmvn1#