JWT 策略
Payload 提供了通过 JSON Web Tokens (JWT) 进行身份验证的能力。这些令牌可以从 login
、logout
、refresh
和 me
等认证操作的响应中获取。
通过 Authorization 头识别用户
除了通过 HTTP-only cookie 进行认证外,你还可以通过 HTTP 请求中的 Authorization
头来识别用户。
示例:
const user = await fetch('http://localhost:3000/api/users/login', {
method: 'POST',
body: JSON.stringify({
email: 'dev@payloadcms.com',
password: 'password',
}),
}).then((req) => await req.json())
const request = await fetch('http://localhost:3000', {
headers: {
Authorization: `JWT ${user.token}`,
},
})
省略令牌返回
在某些情况下,你可能希望阻止令牌从认证操作中返回。你可以通过将 removeTokenFromResponses
设置为 true
来实现:
import type { CollectionConfig } from 'payload'
export const UsersWithoutJWTs: CollectionConfig = {
slug: 'users-without-jwts',
auth: {
removeTokenFromResponses: true, // highlight-line
},
}