npm 包 oidc-azuread 使用教程

阅读时长 7 分钟读完

OIDC(OpenID Connect)是一种针对身份验证和授权的基于身份验证协议的框架。OIDC Azure AD 是一款快速简单的 OpenID Connect 应用,用于 Microsoft Azure Active Directory。

本文将会介绍如何使用 npm 包 oidc-azuread,来实现在前端应用程序中使用 Azure AD 的 OIDC 协议,以便进行认证和授权等操作。

oidc-azuread 的安装

首先,需要先安装 npm 包 oidc-azuread。使用以下命令:

安装完毕后,在应用程序中引入依赖。

初始化

引入 OIDC 客户端后,需要进行初始化,以及提供 appication Id 和 window 的配置。这里以 React 为例:

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

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

其中:

  • authority:OIDC 颁发 Token 的授权服务器。
  • client_id:是应用注册时 Azure AD 发布的应用程序 ID。
  • redirect_uri:用户成功登录并同意授权后,授权服务器将用户重定向回应用程序的 URI。
  • response_type:OIDC 用于返回 Access Token 和 Identity Token。
  • scope:用于授权的作用域,授权服务器将此作为用户同意授权的一部分返回。

登录和认证

在每次用户需要登录或认证时,调用 OIDC 客户端的 signinRedirect 函数。这将重定向用户到 OIDC 提供程序以进行登录和授权。

如果用户已经在 Azure AD 中登录,并且已经同意授权,授权服务器将带上 access_tokenid_token

获取用户信息

在登录成功后,可以使用 OIDC 客户端的 getUser 函数获取用户信息。

上述代码将返回类似这样的用户信息:

使用 Token

access_tokenid_token 存储在本地存储(localStorage)中,以便在前端应用程序中使用。

在向服务器发起请求时,可以将该 Token 发送到服务器的 HTTP 报头中进行身份验证。

退出

当用户需要退出应用程序时,调用 OIDC 客户端的 signoutRedirect 函数。

示例代码

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

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

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

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

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

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

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

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

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

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

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

总结

OIDC Azure AD 包提供了快速且简单的 OIDC 客户端,可用于与 Azure Active Directory 集成。使用 oidc-azuread,可以轻松地管理用户凭据、授权和身份验证。本文详细介绍了 oidc-azuread 的安装和初始化、登录和认证、获取用户信息、使用 Token 和退出等操作。希望本文对前端开发者在使用 oidc-azuread 时有所帮助。

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

纠错
反馈