登录注册接口

注册

  • 请求方法: POST
  • url: http://sharefilm.com/api/reg
  • 请求参数
参数名称类型含义是否必选
nameString用户名
passwordString密码
phoneString手机号
  • 请求体示例
{
   "name" : "yebo_w",
   "password" : "97805uniq""phone" : "13167887249"
}
  • 响应体示例
{
 "code" : 200,
 "message" : "success",
 "data" : {
 	"name" : "yebo_w",
 	"password" : "97805uniq",
 	"phone" : "13167887249"	
 }
}

登录

  • 请求方法: POST
  • url: http://sharefilm.com/api/login
  • 请求参数
参数名称类型含义
nameString用户名
passwordString密码
  • 请求示例
{
	"name" : "yebo_w",
	"password" : "97805uniq"
}
  • 响应体示例
{
	"code" : 200,
	"message" : "success",
	"data" : {
		"userList" : [
			"name" : "yebo_w",
			"phone" : "13167887249"
		]
	}
}
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,你需要安装 `@nestjs/passport` 和 `passport-local` 两个依赖包,它们提供了 NestJS 中实现身份验证和授权的相关功能。 接着,你需要创建一个 `AuthModule` 模块,用来处理登录和注册的请求。在该模块中,你需要创建一个 `AuthService` 服务,用于处理用户的认证和授权操作,例如注册新用户、验证用户身份、生成 JWT 等。下面是一个简单的 `AuthService` 服务示例: ```typescript import { Injectable } from '@nestjs/common'; import { JwtService } from '@nestjs/jwt'; import { UserService } from './user.service'; @Injectable() export class AuthService { constructor( private readonly userService: UserService, private readonly jwtService: JwtService, ) {} async validateUser(username: string, password: string): Promise<any> { const user = await this.userService.findByUsername(username); if (user && user.password === password) { const { password, ...result } = user; return result; } return null; } async login(user: any): Promise<any> { const payload = { username: user.username, sub: user.userId }; return { access_token: this.jwtService.sign(payload), }; } } ``` 上述代码中,`validateUser` 方法用于验证用户的身份,如果验证通过,则返回用户的信息。`login` 方法用于生成 JWT,并将其包含在响应中返回给客户端。 接着,你需要在 `AuthModule` 模块中创建一个 `AuthController` 控制器,用于处理登录和注册的请求。下面是一个简单的 `AuthController` 控制器示例: ```typescript import { Controller, Post, UseGuards, Request } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; import { AuthService } from './auth.service'; @Controller('auth') export class AuthController { constructor(private readonly authService: AuthService) {} @UseGuards(AuthGuard('local')) @Post('login') async login(@Request() req) { return this.authService.login(req.user); } @Post('register') async register(@Request() req) { // TODO: 实现用户注册逻辑 } } ``` 上述代码中,`@UseGuards(AuthGuard('local'))` 表示使用 `passport-local` 策略来验证用户的登录信息。`login` 方法用于处理登录请求,`register` 方法用于处理注册请求。 最后,你需要在 `AppModule` 中引入 `AuthModule` 模块,并将其添加到模块的 `imports` 中,以便 NestJS 可以自动加载该模块。 这就是一个简单的 NestJS 登录注册接口的实现方法。当然,具体实现还需要按照你的业务需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值