使用 ng4-adal 实现前端应用程序的认证授权

介绍

ng4-adal 是一种对 Azure Active Directory (AAD) 认证与授权库的包装器。它可用于创建基于 Angular 4 的前端应用程序,以便使用 AAD 进行认证和授权。在本文中,我们将介绍 npm 包 ng4-adal 的使用方法,并提供一个示例代码来帮助您快速上手。

安装

要安装 ng4-adal,您需要使用 npm。在命令行中,输入以下命令即可:

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

安装完成后,您可以在项目中导入 module。

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

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

配置项的详解

在上面的代码中,我们向 forRoot() 方法传递了几个参数,下面我们将逐一详解这些配置项:

  • tenant: 指您的租户 ID。在创建 Azure AD 应用程序时,您可以在控制台上看到此 ID。它是一串全局唯一的字母和数字组成的字符串。
  • clientId: 指您应用程序的 ID。在创建应用程序后,您可以在应用程序的“概览”页面上找到此 ID。它也是一串全局唯一的字母和数字组成的字符串。
  • redirectUri: 指您应用程序认证后将要重定向的地址,这里包括协议、域名以及端口号。
  • cacheLocation: 指用于存储用户身份验证令牌的缓存位置。'localStorage' 为本地缓存。

使用 ng4-adal 进行认证与授权

ng4-adal 提供了一个适用于 Angular 4 的服务,名为 AdalService。它提供了一系列方法,可以帮助您管理与 AAD 的认证和授权。

在下面的示例中,我们将展示如何使用 AdalService 。

首先注入 AdalService

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

然后,在 ngOnInit 生命周期函数中初始化 AdalService。

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

在执行 login() 方法后, ng4-adal 会自动将用户重定向到 Azure AD 认证页面。如果用户已经登录,并授予了应用程序访问权限,则将重定向到 redirectUri 地址。

请注意,AdalService 还提供了将用户注销功能:

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

源码示例

下面是一个基于 ng4-adal 的实现示例,您可以将其导入到您的 Angular 4 项目中,即可实现 AAD 认证和授权。

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

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

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

结论

ng4-adal 包装了 Azure AD 认证与授权库,可以帮助您轻松地实现 AAD 验证和授权。在本文中,我们详细介绍了如何安装和配置 ng4-adal,以及如何使用 AdalService 进行认证和授权。希望此篇文章能够为前端工程师们提供有价值的学习和指导。

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


猜你喜欢

  • npm 包 angularfire2-offline-v5 使用教程

    在前端开发中,我们经常需要使用一些开源的技术工具来帮助我们更快更便捷的开发应用程序。其中,npm 是目前最常用的包管理工具之一。而 angularfire2-offline-v5 是一个基于 fire...

    3 年前
  • npm 包 Asapp 使用教程

    在前端开发领域中,使用第三方库和工具是非常常见的。而 npm 包 Asapp 就是其中之一,它是一个用于创建和渲染应用状态组件的 JavaScript 库,具有强大的数据流控制和性能优化能力。

    3 年前
  • npm 包 vueable 使用教程

    什么是 vueable vueable 是一个基于 Vue.js 的表格组件,它支持分页、排序、筛选和自定义渲染等功能。同时,vueable 还提供了丰富的 API,方便开发者进行二次开发。

    3 年前
  • npm 包 httpquest 使用教程

    介绍 在前后端分离的现代 web 开发中,http 请求是前端工程师必不可少的一部分工作。而随着应用越来越复杂,对于 http 请求库的要求也越来越高。其中一个广受欢迎的 npm 包 httpques...

    3 年前
  • npm 包 mypluralize 使用教程

    什么是 mypluralize mypluralize 是一个用来处理英文单词变复数的 npm 包,它基于 Pluralize 实现了更加灵活和高效的复数变换算法。

    3 年前
  • npm 包 banjo-kentico-cloud-delivery-js-sdk 使用教程

    在前端开发中,我们常常需要集成一些第三方库来完成特定的任务。而此时,使用 npm 包管理工具十分有用。 在此文章中,我们将介绍 npm 包 banjo-kentico-cloud-delivery-j...

    3 年前
  • npm 包 ez-firebase-auth 使用教程

    Firebase 是 Google 提供的一种云端数据库服务,支持多种语言和平台。对于前端开发来说,直接使用 Firebase 可能会涉及到一些复杂的 API 调用和逻辑处理。

    3 年前
  • npm 包 bee-editor 使用教程

    在前端开发中,文本编辑器是必不可少的工具,它可以帮助我们编辑各种文本内容,包括代码、文档、博客等等。如果你正在寻找一款好用的文本编辑器,那么 bee-editor 可能是一个不错的选择。

    3 年前
  • npm 包 edge-computing 使用教程

    前言 如今,随着物联网技术的发展,边缘计算逐渐走进我们的生活,极大地推动了智能化的发展。今天我们将介绍一款 npm 包——edge-computing,它是一个实现边缘计算的 JavaScript 库...

    3 年前
  • npm 包 react-data-ssr-server 使用教程

    前言 在现代 Web 开发中,前后端分离已经成为了一个非常流行的开发方式。前端需要向后端请求数据,以便渲染页面。然而,SPA(Single-Page Application)的出现让前端也能够不依赖后...

    3 年前
  • npm 包 redux-business 使用教程

    简介 redux-business 是一个基于 Redux 的辅助工具,它能够帮助我们更好的管理业务逻辑代码。redux-business 的主要作用是把数据和业务逻辑分离开来,让代码更加清晰易懂,提...

    3 年前
  • npm 包 muddler 使用教程

    什么是 muddler muddler 是一个基于 Node.js 和 TypeScript 的前端工具库,提供了一些常用的功能和工具方法,例如数据类型处理、浏览器判断、事件监听等。

    3 年前
  • npm 包 ng4-device-detector 使用教程

    在前端开发中,我们需要开发针对不同设备的程序。因此,我们需要一种能够检测设备类型和特征的工具。其中,ng4-device-detector 是一个非常实用的工具包。

    3 年前
  • npm 包 libatscc2js-rt 使用教程

    介绍 npm 包 libatscc2js-rt 是一个将 ATS2(Applied Type System 2)编写的函数库编译为 JavaScript 语言的运行时库。

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

    介绍 watercress-react-native 是一个 在 React Native 上构建水生植物识别功能的 npm 包。它提供了一个简单的 API,使得您可以轻松地将水生植物识别功能添加到您...

    3 年前
  • npm 包 SPORASUB-SP2 使用教程

    SPORASUB-SP2 是一款非常实用的前端 npm 包,它提供了许多方便的功能和工具,适用于前端工程师和开发者。本篇文章将详细介绍这个 npm 包的使用方法和技巧,帮助读者快速上手和学习。

    3 年前
  • npm 包 @ghalex/parse 使用教程

    @ghalex/parse 是一个用于前端的 npm 包,它旨在提供一种快速、简单、高效的方式来解析用户输入的文本。这个包非常容易上手,而且会让你的输入解析过程变得更加方便。

    3 年前
  • npm 包 sr-store 使用教程

    在前端开发中,管理状态的过程往往是一个棘手的难题。而 sr-store 这个优秀的 npm 包,则为我们提供了一个简单而又灵活的方式来管理应用的状态。在这篇文章中,我们将会探讨如何使用这个工具来改善我...

    3 年前
  • npm 包 modern-deep-equal 使用教程

    前言 在前端开发过程中,我们常常需要比较两个对象或数组是否相等。如果直接使用 JavaScript 提供的相等比较运算符 ===,只能比较浅层次的值相等,无法比较深层次的对象和数组是否相等。

    3 年前
  • npm 包 wifi-passwd 使用教程

    在现代的生活中,无线网络已经成为我们生活不可缺少的一部分。而对于开发人员来说,频繁访问各种开发环境的无线网络是常事,所以保存 Wi-Fi 密码是一个常见的需求。 npm 包 wifi-passwd 就...

    3 年前

相关推荐

    暂无文章