npm 包 @jbuschke/react-msal 使用教程

阅读时长 5 分钟读完

随着用户权限和数据保护的重要性日益增加,许多应用程序都需要用到身份验证和授权的功能。Microsoft 的身份鉴别和授权服务 Microsoft Authentication Library(MSAL)是目前广泛使用的解决方案之一。而 @jbuschke/react-msal 是一个基于 React 的 MSAL 包,帮助开发者轻松地在 React 应用程序中实现身份鉴别和授权。

概述

@jbuschke/react-msal 包通过提供一组 React 组件,帮助开发者在 React 应用程序中轻松地集成 MSAL。以及使用 Microsoft 身份验证门户(Azure Portal)管理身份验证的应用程序。该包还提供了 TypeScript 类型声明。

使用该包不需要自己编写任何与 MSAL 相关的代码,只需要了解一些配置和使用方法。使用该包可以快速构建面向企业的身份验证和授权应用程序。

安装

安装 @jbuschke/react-msal 包的最新稳定版本:

使用

以下是一些使用 @jbuschke/react-msal 的示例代码。

配置文件

首先,需要在应用程序中创建一个 MSAL 配置文件。该配置文件应该包含应用程序的客户 ID,租户 ID 和其他必要的信息。这个文件的格式如下:

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

AuthProvider 组件

然后,需要使用 <AuthProvider> 组件包装 React 应用程序的根节点。该组件从配置文件中加载 MSAL 配置,并在应用程序中配置身份鉴别和授权。

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

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

useMsal Hook

接下来,可以使用 useMsal 钩子访问 MSAL 函数和状态。

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

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

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

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

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

该钩子向组件提供了 accountsinstanceinProgress 等状态和函数。

withInteractionRequired 高阶组件

使用 withInteractionRequired 高阶组件,可以将操作要求用户进行交互的功能包装在单独的组件中。组件将在用户完成交互后,使用 MSAL 身份鉴别信息进行验证。

这将返回一个新的组件,它包装了 MyComponent 并添加一个名为 interactionRequired 的 prop。当用户进行了与 MSAL 相关的交互时,这个 prop 将设置为一个对象,包含重要的身份验证信息。

withMsal 高阶组件

该组件将把 accountsinstanceinProgress 等状态和函数作为 props 添加到组件中。

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

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

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

这将返回一个新的组件,它包装了 MyComponent 并添加了 accountsinstanceinProgress 等状态和函数作为 props。

总结

本文介绍了如何使用 @jbuschke/react-msal 包来快速构建身份验证和授权功能。我们讨论了配置文件、AuthProvider 组件、useMsal 钩子,以及 withInteractionRequiredwithMsal 高阶组件的使用。使用这些工具,React 开发者可以通过 MSAL 轻松构建安全的企业级应用程序。

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

纠错
反馈