npm 包 @tiangolo/angular-jwt 使用教程

在前端开发中,经常需要处理用户身份认证的问题。其中,JWT(JSON Web Token)作为一种轻量级的认证方式,逐渐被越来越多的应用所采用。而 @tiangolo/angular-jwt 正是一个方便快捷的 Angular 组件,用于处理 JWT 的生成和解析。

安装和引入 @tiangolo/angular-jwt

要使用 @tiangolo/angular-jwt,我们需要先将其安装到本地环境中。在终端中输入以下命令:

--- ------- ------------------

安装完成后,我们需要将其引入到需要使用的组件中,例如:

------ - ---------------- - ---- ---------------------

JwtHelperService 方法使用

接下来,我们就可以使用 JwtHelperService 中的方法来处理 JWT 了。

parseJwt(jwt: string)

将 JWT 字符串解析成 JSON 对象。

----- --------- - --- -------------------
----- ----- - --------------------------------------------------------------------------------------------------------------------------------------------------------------
----- -------- - --------------------------
---------------------- -- - ---- ------------- ----- ----- ----- ---- ---------- -

getTokenExpirationDate(token: string): Date | null

获取 JWT 的过期时间。如果 JWT 中未设置过期时间,返回 null

----- --------- - --- -------------------
----- ----- - --------------------------------------------------------------------------------------------------------------------------------------------------------------
----- -------- - ----------------------------------------
---------------------- -- ------------------------

isTokenExpired(token: string, offsetSeconds?: number): boolean

检查 JWT 是否过期。如果过期返回 true,否则返回 false

----- --------- - --- -------------------
----- ----- - --------------------------------------------------------------------------------------------------------------------------------------------------------------
----- --------- - --------------------------------
----------------------- -- -----

在 Angular 应用中使用

通常情况下,我们需要在调用 API 时将获取到的 JWT 加入到请求头中进行认证。可以在 Angular 的 HttpInterceptor 中使用 JwtHelperService 对请求进行前置处理:

------ - ---------- - ---- ----------------
------ - ---------------- ------------ ------------ --------- - ---- -----------------------
------ - ---------- - ---- -------
------ - ---------------- - ---- ---------------------

-------------
------ ----- -------------- ---------- --------------- -
  ------------------- ---------- ----------------- - -

  ------------------ ----------------- ----- ------------- -------------------------- -
    ----- ----- - ------------------------------
    -- ------ -- -------------------------------------- -
      ------- - ---------------
        ----------- -
          -------------- ------- ---------
        -
      ---
    -
    ------ ---------------------
  -
-

以上代码会将本地存储中的 JWT 赋值给 Authorization 请求头,如:

------ - --------- - ---- ----------------
------ - ---------- - ---- -----------------------

------------
  --------- -----------
  --------- -
    ------- --------------
    ------- ----------- - ---- --------
  -
--
------ ----- ------------ -
  ------------ ----

  ------------------- ----- ----------- --

  ---------- -
    ------------------------------------------------------ -- -
      ---------------- - -----
    ---
  -
-

结语

通过上方示例,我们可以看到 @tiangolo/angular-jwt 的使用是相当简单和方便的。在实际开发中,我们只需要了解这个包提供的方法,就可以轻松地使用 JWT 进行前端身份认证。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005601281e8991b448de121


猜你喜欢

  • npm 包 eslint-watchs 使用教程

    在前端开发中,代码质量是非常重要的,使用 eslint 可以帮助我们规范代码风格和排查常见的代码错误。但是,手动执行 eslint 命令检查代码比较繁琐,并且容易遗漏。

    3 年前
  • NPM 包 tinyjson 使用教程

    在前端开发中,JSON 作为一种常见的数据格式,我们经常需要对其进行处理和操作。其中,一个非常有用的工具是 NPM 包 tinyjson。它可以帮助我们进行快捷地解析、序列化和格式化 JSON 数据。

    3 年前
  • npm 包 create-simple-pkg 使用教程

    前言 在前端开发中,我们经常需要编写自己的 npm 包用于解决项目中的问题。而创建一个 npm 包并不是一件简单的事情,需要编写 package.json 文件、编写代码、测试代码、发布 npm 包等...

    3 年前
  • npm 包 npm-debug-log-cleaner 使用教程

    npm-debug-log-cleaner 是一个可以帮助开发者清理项目中遗留的调试信息和日志文件的 npm 包。它可以让项目的运行看起来更加整洁,同时也保护了开发者项目的安全。

    3 年前
  • NPM 包 koxr 使用教程

    前言 在前端开发中,我们经常需要调用各种包和插件来帮助我们构建和完善网站和应用程序。而 NPM 是一个非常受欢迎的包管理器,其中包含了数千个有用的 JavaScript 库。

    3 年前
  • npm 包 postcss-beard-responsive 使用教程

    本文将为您介绍 npm 包 postcss-beard-responsive 的使用教程。这是一款针对前端开发者的工具,可以帮助您更方便地实现响应式设计,并提供更好的用户体验。下面将详细讲解如何使用。

    3 年前
  • npm 包 textinput 使用教程

    textinput 是一个非常实用的 npm 包,可以帮助前端开发者实现更好的文本输入交互体验。本文章将详细介绍 textinput 的使用方法,包括安装、引入、基本用法和高级用法等。

    3 年前
  • npm 包 @getlazy/faas-pipeline 使用教程

    在现代化的前端开发中,云函数已经成为了一个非常重要的概念。它们能够为我们提供强大且高效的后端逻辑支持,从而大大简化开发难度。然而,为了更好地利用云函数,我们需要使用一些持续集成和部署工具来更好地管理我...

    3 年前
  • npm 包 babel-plugin-angularjs-inline-style 使用教程

    前言 在前端开发过程中,我们经常需要在 HTML 文件中使用样式,通常我们会将样式写在 CSS 文件中并通过引入的方式将其应用到 HTML 文件中。 然而,在某些情况下,我们希望将样式放在 HTML ...

    3 年前
  • npm 包 gulp-query-styles 使用教程

    什么是 gulp-query-styles gulp-query-styles 是一个基于 gulp 的插件,可以让开发者通过简单的配置快速打包样式文件,并支持多种预处理器(如 Less、Sass、S...

    3 年前
  • npm包node-resemble-js-raw 使用教程

    node-resemble-js-raw 是基于Node.js开发的一个图片对比工具,它可以帮助前端开发者快速的对比两张图片的差异,从而更好地完成网页UI的测试和开发。

    3 年前
  • npm 包 console_extension 使用教程

    在前端开发中,经常遇到需要调试打印内容以及查看某些信息的情况,而 console 是一个非常好用的调试工具。本文将介绍一个 npm 包 console_extension,它是一个增强版的 conso...

    3 年前
  • npm 包 rich 使用教程

    什么是 rich? rich 是一个用于前端页面美化的 npm 包,它提供了丰富灵活的样式组件和工具来帮助你快速搭建美观易用的界面。 rich 怎么使用? 安装 要想使用 rich,首先需要在你的项目...

    3 年前
  • npm 包 homebridge-http-accessory 使用教程

    前言 homebridge-http-accessory 是一个可以让您用 HTTP 远程方式控制 HomeKit 的 npm 包。借助此包,您可以通过 HTTP API 的方式来添加 HomeKit...

    3 年前
  • npm 包 react-lorem 使用教程

    介绍 react-lorem 是一个用于 React 应用的假文生成工具包。它可以方便地在开发过程中生成占位文本,从而帮助您集中精力编写代码。 react-lorem 的使用非常简单,只需要在项目中安...

    3 年前
  • npm 包 si-prefixer 使用教程

    前言 在前端开发中,我们常常需要处理数值单位的转换,例如将字节(byte)转换为千字节(KB),或者将毫秒(ms)转换为秒(s)。虽然这些转换可以手动计算,但是在实际应用中,时间成本高、容易出错。

    3 年前
  • npm 包 examplepackage 使用教程

    简介 npm 是一个非常流行的 Node.js 包管理器,有着丰富的开源软件包,例如 Vue.js、React、Angular 等等。examplepackage 是一个常见的 npm 包,它提供了很...

    3 年前
  • npm包generator-rocketnative使用教程

    简介 generator-rocketnative是一个针对React Native应用开发的npm包。它作为生成器(generator)被设计为一个可安装用于自动生成React Native app...

    3 年前
  • npm 包 rollup-plugin-absolute-module-fix 使用教程

    随着前端模块化的普及,npm 包的使用已经成为了前端开发中不可或缺的一部分。然而,由于模块间的依赖关系以及相对引用的机制,导致了一些模块在不同的引用情况下,会出现错误的引用路径,从而导致构建失败,无法...

    3 年前
  • npm 包 tree-generator 使用教程

    介绍 tree-generator 是一个生成目录树的 npm 包。它可以帮助前端开发人员节省很多时间和精力,特别是在需要创建并维护大量文件和目录的项目中。此外,tree-generator 还支持自...

    3 年前

相关推荐

    暂无文章