npm 包 ng2-omelek-adal 使用教程

阅读时长 6 分钟读完

在 Web 应用开发中,身份验证是一项重要的安全措施。Microsoft Azure Active Directory(AD)是一种常见的用户认证和授权服务,在 Angular 应用中使用 AD 实现认证和授权是非常常见的需求。而 ng2-omelek-adal 就是一个用于在 Angular 应用中使用 Azure AD 进行身份验证和授权的 npm 包。

安装

要使用 ng2-omelek-adal,首先需要在应用中安装它。可以通过以下命令来安装最新版本:

配置

安装完成后,要在应用中设置一些配置信息,包括:

  • 使用的 AD 应用的 Client ID
  • AD 应用授权的重定向 URL
  • 用于存储用户令牌的缓存机制
  • 需要认证的资源

下面是一个基本的 ng2-omelek-adal 配置示例:

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

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

其中,tenantclientId 是必填项,用于标识 AD 应用,redirectUripostLogoutRedirectUri 则是授权以及退出登录后重定向的 URL。

cacheLocation 指定用户令牌的缓存方式,可以是 'sessionStorage' 或 'localStorage',一般情况下使用 'localStorage'。

endpoints 列出要运用 AD 身份验证和授权的 API 资源。

使用

在 Angular 组件或服务中,可以注入 AdalService 服务来进行身份验证和授权相关操作。

登录

使用 AdalService.login() 可以开始登录流程。当成功登录后,会在缓存中存储用户令牌信息。

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

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

退出登录

使用 AdalService.logOut() 可以退出登录,并清除用户令牌信息。

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

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

获取用户信息

使用 AdalService.userInfo 可以获取当前已登录用户的信息,包括名称、电子邮件地址、唯一 ID 等。

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

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

向 API 发送请求

在发送请求前,首先需要使用 AdalService.acquireToken() 来获取 API 调用所需要的访问令牌。获取到访问令牌后,可以添加到请求头部中,与 API 进行交互。

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

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

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

总结

ng2-omelek-adal 是用于在 Angular 应用中使用 Azure AD 进行身份验证和授权的 npm 包。它提供了完整的认证和授权流程,以及获取用户信息、访问受保护的 API 等常见场景的解决方案。使用 ng2-omelek-adal,开发者可以轻松地实现身份验证和授权相关功能,提高应用的安全性和可靠性。

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

纠错
反馈