首页 > 其他分享 >Nestjs-Authentication 文档翻译

Nestjs-Authentication 文档翻译

时间:2022-12-06 15:02:19浏览次数:61  
标签:Passport JWT auth Authentication 文档 Nestjs passport import nestjs

Authentication

认证 是大多数应用程序中非常重要的部分. 有很多不同的方法和策略去处理 认证, 根据不同的要求决定。

本章节展示了几种不同方式,这些方式通常是能够适用于大多数情况的。

Passport 是node.js 中最流行的 用于认证处理逻辑的 库,在社区范围广为人知,并被应用于很多生产应用。 Next.js 也专门封装了 @nestjs/passport module, 用于简单快速的整合 Nestjs 应用。 在较高的层级上来看,Passport 执行了一系列的步骤:

  • 通过用户的 “credentials" (例如, 用户名/密码,JSON Web Token( JWT ), 或者由认证提供商提供的 identity token 标识token) 的校验来认证一个用户。
  • 管理 已经认证的状态 (通过发布一个可移植令牌(如JWT)或创建一个Express会话)。
  • 将有关身份验证的用户信息附加到请求对象,以在路由处理程序中进一步使用。

Passport 有着丰富的 策略(strategies ) 生态,这些策略实现了各种 认证 机制。 你可以根据你的需要选择各种策略, Passport 将上述的这些不同的步骤 抽象为标准的 模式(pattern),且 @nestjs/passport 的作用就是将 这个 模式(pattern) 包装并序列化成更熟悉的 Nest 的结构。

在本章节中,我们将会利用这些强大,灵活的模块,为一个 RESTful API 服务实现一个完整的 end-to-end 认证解决方案。 你可以使用本章中所描述的各种概念去实现任何 Passport 策略以实现自定义你的验证逻辑。 你可以跟着这些步骤去构建这个完整的示例,也可以在这里看到完整的示例代码 here.

Authentication requirements

在这里用例中,客户端将会发送 username 和 password, 一旦认证完成, 这个服务器将会颁发一个 JWT 用以在客户端后续的请求中,作为 bearer token in an authorization header (请求头中的 bearer token) 携带到服务端,以作为认证成功的凭证。 我们还会创建一个受保护的路由,该路由将只能够被携带 有效 JWT 的请求访问。

我们将会从验证一个用户开始,然后将会扩展实现JWT 颁发,最后我们将会创建一个受保护的路由。

首先,先安装需要的依赖包:

passport-local: 实现了一个 username/password 验证机制,很适合我们用例的这一部分需求。

$ npm install --save @nestjs/passport passport passport-local
$ npm install --save-dev @types/passport-local

标签:Passport,JWT,auth,Authentication,文档,Nestjs,passport,import,nestjs
From: https://www.cnblogs.com/jaycethanks/p/16955257.html

相关文章

  • 软工文档学习
    软工文档里面的文档及其作用。1:可行性研究    在一个软件进行开发前,对这个项目在,经济、经济和社会方面的可行性,综合评述各个方案。项目分析员进行下一步工作的前提,......
  • Jboss的EJB容器的相关文档
    https://issues.jboss.org/browse/AS7-6764?_sscc=thttps://issues.jboss.org/browse/AS7-6764https://docs.jboss.org/author/display/AS72/Scoped+EJB+client+context......
  • .NetCore【中间件】API文档Swagger
    Swagger为API接口生成文档Core中添加Swaggernuget安装包install-packageSwashbuckle.AspNetCore注册服务publicvoidConfigureServices(IServiceCollections......
  • vscode 设置vetur格式化文档时 属性不自动换行,一行显示
    vscode 设置格式化属性不自动换行、js代码不自动换行(vue代码data中定义的数据不自动换行 找到已安装的vetur的格式化工具   添加如下代码:"vetur.format......
  • poi解析word和excel文档
    -packagecom.gxt.testcase.service.impl;importcom.jj.system.pojo.web.SmUploadfile;importcom.jj.system.service.web.SmUploadfileService;importjava.io.Inp......
  • JavaDoc生成文档
    JavaDoc生成文档一.通过命令行生成JavaDoc文档1.打开指定的文件目录选中指定文件(类或者包)--->右键选中openin---->explorer2.打开指定文件的cmd再1中打开的文......
  • 文档和内容管理
    一、简介文档和内容管理是对存储在关系数据库以外的信息的采集、存储、访问以及使用的控制活动。文档和内容管理的侧重点在完整性和访问控制上。因此,它与关系数据库......
  • 12年经验的大龄程序员,你猜他用什么写API文档?
    @目录本篇博客重点围绕这些产研需求展开。一、Eolink准备工作,Python快速搭建Swagger二、Eolink通过Swagger文件,自动生成API文档三、Eolink通过OpenAPI触发同步......
  • wps - Word文档打开后不能编辑
    Word文档打开后不能编辑解决方式【审阅】-【限制编辑】-【设置文档的保护方式】-【修订】-【启动保护】-【停止保护】Word文档打开后不能编辑,可以这样处理打开Word文档......
  • 【2022-12-04】Prometheus+Grafana监控平台部署文档
    一、环境准备1.准备两台虚拟机\或者购买云服务器2.虚拟机硬件要求2.1内存不得少于4G,否则项目启动会有报错2.2CPU2核2G2.3硬盘至少20G3.系统镜像 ......