npm 包 sharepoint-auth2 使用教程

阅读时长 8 分钟读完

在前端开发中,有很多需要处理 SharePoint 认证的场景,比如访问 SharePoint 中的数据、管理 SharePoint 上的文档等。而在 Node.js 环境下,我们可以通过 npm 包 sharepoint-auth2 来简化 SharePoint 认证的过程。本篇文章将详细介绍如何使用这个 npm 包,包括如何获取 Token、如何发送请求以及如何处理认证过期等问题。

安装

首先,我们需要安装 sharepoint-auth2,可以通过以下命令进行安装:

获取 Token

获取 Token 是 SharePoint 认证的第一步,我们可以使用 SharePoint 本身提供的 OAuth2 授权 API 来获取 Token,获取 Token 的方式包括 Client Credentials Flow 和 Authorization Code Flow 两种方式。我们在这里介绍 Authorization Code Flow 的方式。

首先,在 SharePoint 平台上创建一个应用程序,获取应用程序的 Client Id 和 Client Secret,打开 SharePoint 网站,点击左侧的“应用程序”,然后创建新的应用程序。

创建成功后,我们就可以获取到 Client Id 和 Client Secret,将它们保存到本地。

接着,我们可以使用 sharepoint-auth2 包提供的 getAuthUrl 方法,获取授权 URL,即:

授权 URL 可以重定向到该 URL,然后用户可以登录后授权,将会被重定向到 redirectUrl 地址,并获取 code 参数。

获取 code 后,我们可以使用 SharePoint 提供的 Token API,向 SharePoint 发送 HTTP 请求,获取 Token,即:

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

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

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

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

发送请求

获取 Token 后,我们可以使用该 Token 向 SharePoint 发送 HTTP 请求,获取所需的数据。需要注意的是,在发送请求时,我们需要在请求头中添加 Authorization 字段,值为 Bearer {token},即:

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

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

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

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

处理认证过期

由于 SharePoint 的 Token 有时限性,因此我们需要及时更新 Token。可以通过判断 Token 过期时间,然后在 Token 过期前更新 Token。

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

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

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

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

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

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

示例代码

完整的示例代码如下:

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

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

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

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

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

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

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

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

结语

以上就是使用 sharepoint-auth2 包进行 SharePoint 认证的全部过程,使用这个包可以大大简化 SharePoint 认证的过程,提高前端开发效率。

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

纠错
反馈