npm 包 ng2-adal-test 使用教程

阅读时长 4 分钟读完

ng2-adal-test 是一个针对 Angular 2+ 程序设计的 npm 包,用于在程序中实现 Azure Active Directory 鉴权。本文将深入探讨该 npm 包的使用方法以及实现的原理。

安装

安装 ng2-adal-test 轻而易举,只需要在终端输入:

快速开始

完成安装后,我们需要在 Angular 2+ 的程序中使用该 npm 包。首先,在 app.module.ts 中引入该包并添加到 Providers 数组中,如下:

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

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

接下来,在 app.component.ts 中引入该 npm 包并实例化一个 AdalService 对象。在构造函数中,我们需要配置租户、客户端 ID 和需要受保护的资源等信息。如下:

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

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

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

最后,在 app.component.html 模板中添加如下代码:

现在,你可以在浏览器中运行该程序。当程序加载时,它会自动跳转到 Azure Active Directory 鉴权界面,登录后即可在程序界面中看到登录成功的提示信息。

原理分析

当我们在程序中调用 this.adalService.login() 时,ng2-adal-test 会首先使用 Azure Active Directory 中的 OAuth2 授权码模式,向认证服务器请求授权码并将用户重定向到 Azure Active Directory 的登录页面。用户登录成功后,Azure Active Directory 将授权码发送回客户端浏览器并将用户重定向到客户端应用程序。

接着,ng2-adal-test 获取到授权码,使用该授权码与 Azure Active Directory 进行交互,获取到访问令牌。访问令牌包含了我们所请求的资源(API)的权限,我们可以使用该访问令牌调用 API。

示例代码

你可以在 GitHub 上查看 ng2-adal-test 的完整示例代码。

结论

本文介绍了 npm 包 ng2-adal-test 的使用方法及其实现原理。了解和使用该包可以帮助我们快速实现 Azure Active Directory 鉴权,并保护我们的应用程序资源。大家可以试着在自己的项目中使用该 npm 包,体验一下 Azure Active Directory 鉴权的功能。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005668481e8991b448e2b17

纠错
反馈