在现代的 Web 应用程序中,身份验证是一个关键的安全要素。JWT(JSON Web Token)是一种用于安全传输信息的开放标准。Nest.js 是一个流行的 Node.js 框架,它提供了一种简单而强大的方式来构建可扩展的后端应用程序。在本文中,我们将介绍如何在 Nest.js 中使用 JWT 策略进行身份验证。
1. 安装所需的依赖
在开始之前,请确保您已经安装了 Node.js 和 Nest.js。可以通过以下命令来检查它们的安装情况:
node -v
nest --version
在 Nest.js 中使用 JWT 策略需要安装一些额外的依赖。使用以下命令来安装这些依赖:
npm install @nestjs/jwt passport passport-jwt
2. 创建 JWT 策略
在 Nest.js 中,我们可以创建一个 JWT 策略来处理 JWT 的验证。创建一个名为 jwt.strategy.ts
的文件,并添加以下内容:
import { Injectable } from '@nestjs/common';
import { PassportStrategy } from '@nestjs/passport';
import { Strategy, ExtractJwt } from 'passport-jwt';
import { AuthService } from './auth.service';
@Injectable()
export class JwtStrategy extends PassportStrategy(Strategy) {
constructor(private readonly authService: AuthService) {
super({
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken