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_token
和 id_token
。
获取用户信息
在登录成功后,可以使用 OIDC 客户端的 getUser
函数获取用户信息。
----- ----------- - ----- -- -- - ----- ---- - ----- --------------------- ------------------ -
上述代码将返回类似这样的用户信息:
- ------- ----- ----- -------- ----------------------- ------ ------------- ---------- - --------------- --- --- --- ---- - -
使用 Token
将 access_token
和 id_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