npm 包 msal-react 使用教程

什么是 msal-react?

msal-react 是一个使用 Microsoft Authentication Library (MSAL) 提供的功能进行身份验证和授权的库。它允许您在React应用程序中轻松添加身份验证和授权功能。

当您使用msal-react进行身份验证和授权时,您的用户可以使用与Microsoft身份验证相同的登录凭据登录。这使得将 Office 365、Microsoft Teams、Microsoft Graph 等 Microsoft 服务集成到您的 React 应用程序中变得非常容易。

开始使用 msal-react

安装 msal-react

要开始使用msal-react,请首先使用 npm 包管理器安装依赖。

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

初始化 msal-react

在您的 React 应用程序中,您需要进行以下步骤以初始化并配置 msal-react:

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

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

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

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

在上例中,我们首先导入了 PublicClientApplication 和 MsalProvider,然后创建了一个“msalConfig”对象。该对象将用于配置 azure/msal-browser 库。

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

在这里,你应该设置你的客户端ID和重定向URI。clientId 是用于识别你的应用程序的字符串,而 redirectUri 指定了用户在进行身份验证后被重定向到你的应用程序的URL。

接下来,我们创建 PublicClientApplication 的一个实例。

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

最后,在您的应用程序层次结构中使用 MsalProvider 包装您的应用程序代码。

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

这使得您的应用程序能够访问您的 msal-react 实例。

使用 msal-react

上面的步骤完成后,您就可以开始使用 msal-react 进行身份验证和授权了。

首先,您需要在您的应用程序中使用 useMsal 钩子来访问您的 msal-react 实例。

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

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

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

在上例中,我们导入了 useMsal 钩子并使用它来访问 msal-react 实例,帐户和 inProgress 布尔值。帐户是一个数组,包含与当前访问 TokenCache 中的用户帐户信息。inProgress 布尔值指示是否有与当前请求相关联的呈现过程。例如,在登录过程中,该值将设置为 true。

接下来,您可以使用自己的自定义样式和逻辑来呈现您的登录和注销按钮。

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

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

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

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

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

在这个例子中,我们创建了两个处理程序 handleLogIn 和 handleLogOut。handleLogIn 处理程序在用户单击“登录”按钮时使用 msalInstance 的 loginRedirect 方法引导用户进行身份验证。handleLogOut 处理程序则检查帐户是否存在,如果存在,则使用 msalInstance 的 logoutRedirect 方法引导用户退出登录。

接下来,我们使用自己的自定义样式和逻辑来呈现登录和注销按钮。

最后,我们需要为路由守卫创建一个自定义组件。

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

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

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

在这个例子中,我们首先导入用于呈现路由视图的 React Router 组件。接下来,我们创建了一个名为 MyAuthProvider 的自定义组件。这个组件简单的返回谷歌 msal-react 组件中的 MsalAuthenticationTemplate 组件。最后,我们将其与路由器和子视图组件一起使用。

结论

msal-react 简化了使用 MSAL 进行身份验证和授权的过程,使得将 Office 365、Microsoft Teams、Microsoft Graph 等 Microsoft 服务集成到您的 React 应用程序中变得非常容易。这篇教程中,我们详细介绍了如何安装、配置和使用 msal-react 进行身份验证和授权。这些步骤不仅直观易懂,而且能够让您上手使用 msal-react 和 MSAL。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60067354890c4f72775839a5


猜你喜欢

  • npm 包 validate-graphql 使用教程

    前言 在前端开发中,GraphQL 已经成为了一种非常受欢迎的数据交互方式,而 validate-graphql 是一种用于验证 GraphQL schema 的 npm 包,可以在编写 GraphQ...

    4 年前
  • npm 包 react-autosearchbar 使用教程

    react-autosearchbar 是一个基于 React 的自动搜索栏组件。它可以方便地添加到你的项目中,使用户可以快速地搜索内容。在本文中,我们将详细讲解如何使用这个 npm 包。

    4 年前
  • npm包graphqlld-on-file使用教程

    GraphQL是现代Web开发中最流行的API查询语言之一。它提供了一种清晰、强大的方法来描述API中数据的处理方式。然而,将GraphQL结合文件系统进行开发时,往往需要额外的代码和配置来实现从文件...

    4 年前
  • npm 包 @gigasz/react-native-sketch-canvas 使用教程

    1. 简介 @gigasz/react-native-sketch-canvas 是一个 React Native 绘图工具库,它基于 React Native 中的 ART(Android UI),...

    4 年前
  • npm 包 babel-plugin-source 的使用教程

    在前端开发中,我们经常需要对 JavaScript 代码进行编译和转换,以满足不同的需求。babel 是一个广泛使用的 JavaScript 编译器,而 babel-plugin-source 则是一...

    4 年前
  • npm包three-component-ts使用教程

    前言 在前端开发中,3D可视化效果已经越来越受到关注,而Three.js是其中最流行的3D库之一。使用Three.js,我们可以很容易地创建复杂的3D场景和动画。 但是,使用Three.js还是有一定...

    4 年前
  • npm 包 @robb_j/chowchow-json-envelope 使用教程

    在前端开发中,我们经常需要处理 JSON 格式的数据。而且,处理 JSON 数据的方式也非常多样化,我们可以使用原生的 JavaScript 方法,也可以使用第三方库封装好的工具来处理数据。

    4 年前
  • npm 包 @artemv/ruby-starter-kit 使用教程

    前言 在编写 Web 前端应用时,通常需要使用到其他的框架或工具。这些框架或工具所提供的功能大大增强了我们的开发效率和代码质量。Node Package Manager (npm) 是一个流行的包管理...

    4 年前
  • npm 包 test-component-builder 使用教程

    什么是 npm 包 test-component-builder? test-component-builder 是一个 npm 包,它允许您在几秒钟内构建和测试 React 组件。

    4 年前
  • 前端类技术文章:npm 包 reaction-cli 使用教程

    介绍 在前端开发中,经常需要使用各种工具和框架来帮助我们提高效率和质量。其中,npm 包是非常重要的一种资源,它能够帮助我们快速搭建项目,管理依赖,提供工具等等。本文介绍的是一个非常实用的 npm 包...

    4 年前
  • npm 包 leetlog 使用教程

    在前端开发中,日志记录是非常重要的一步。我们可以利用 npm 包 leetlog 来记录前端的日志信息。leetlog 是一个轻量级的 JavaScript 日志记录库,可以用于浏览器和 Node.j...

    4 年前
  • npm 包 grpc-mock 使用教程

    什么是 grpc-mock? grpc-mock 是一个用于编写和测试 gRPC 服务的 Node.js 模块。通过仿真 gRPC 服务的行为,可以轻松模拟、测试和调试您的客户端代码。

    4 年前
  • npm 包 @jozekcore/react-calendar 使用教程

    简介 在 Web 开发中,日历是一个必不可少的组件,可以用于显示日期、时间、事件等信息。@jozekcore/react-calendar 是一个基于 React 的日历组件,支持自定义样式和事件等功...

    4 年前
  • npm 包 node-service-module 使用教程

    在前端开发中,我们经常需要使用一些服务和工具来提高我们的效率和质量。而 npm 包是其中一个非常重要的资源,它提供了大量的第三方库和工具供我们使用。在本文中, 我们将介绍一个非常实用的 npm 包:n...

    4 年前
  • npm 包 @ourabio/react-native-highcharts-wraped 使用教程

    背景 Highcharts 是一个流行的图表库,但是它并没有原生支持 React Native。为了在 React Native 中使用 Highcharts,我们可以使用 "react-native...

    4 年前
  • npm 包 hexo-tag-strava 使用教程

    Hexo 是一款用 Node.js 构建的快速、简洁且高效的静态博客框架,它可以帮助我们轻松快捷地创建并管理自己的博客网站。而在博客网站中,有时我们需要在文章中嵌入一些 Strava 运动数据,以增强...

    4 年前
  • npm 包 @pefish/kafka-node 使用教程

    简介 在前端领域中,我们经常需要使用传统Web开发利器之一——Kafka。而npm包@pefish/kafka-node则是一种方便易用的工具,帮助我们在前端开发过程中更快捷地使用Kafka。

    4 年前
  • npm 包 @prodo-ai/eslint-plugin 使用教程

    在前端开发中,代码的质量以及规范性是非常重要的,特别是团队协作场景下。为了更好的管理和维护我们的代码,我们通常会使用一些代码规范检测工具。而 ESLint 是其中最受欢迎的一个,而 @prodo-ai...

    4 年前
  • npm 包 geoip2ws 使用教程

    什么是 geoip2ws Geopip2ws 是一个 npm 包,它可以帮助前端开发者获取用户的地理位置信息。使用该包,开发者可以轻松获取用户的 IP 地址、国家、省份和城市等信息,这些信息可以用于开...

    4 年前
  • npm 包 textlint-rule-period-in-list-item 使用教程

    在日常写作中,我们如果要使用有序或无序列表来表达一些流程或点滴,很容易忽略掉每一项末尾的标点符号。然而,标点符号的重要性不言而喻,如果每一项都没有正确的标点符号,就会让整个列表显得杂乱无章,难以阅读。

    4 年前

相关推荐

    暂无文章