npm 包 Passport-LinkedIn 使用教程

阅读时长 8 分钟读完

Passport-LinkedIn 是一款基于 Node.js 平台的集成了 LinkedIn 登录授权功能的 npm 包。有了 Passport-LinkedIn,开发者可以轻松地通过编写少量代码,使得网站用户可以方便地使用其 LinkedIn 账户登录到您的应用中。

在本文中,我们将详细介绍 Passport-LinkedIn npm 包的使用方法,以及如何通过它实现 LinkedIn 登录授权。除此之外,我们还将编写一些示例代码,帮助读者更好地了解如何使用 Passport-LinkedIn 包。

安装

安装 Passport-LinkedIn 包需要 Node.js 6.x 或更高版本。使用以下命令安装:

Passport-LinkedIn 怎么用?

Passport-LinkedIn 是基于 Passport 身份验证框架的一个扩展包。在使用 Passport-LinkedIn 之前,需要先在应用中安装和配置 Passport 框架。如果您还没有使用过 Passport,可以先阅读 Passport 官方文档

要使用 Passport-LinkedIn,首先要对其进行初始化并配置 strategy。 Passport-LinkedIn 的初始化和配置方法如下所示:

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

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

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

在上面的代码中,LINKEDIN_CLIENT_IDLINKEDIN_CLIENT_SECRET 是在 LinkedIn 开发者中心 注册应用时生成的客户端 ID 和客户端密钥。LINKEDIN_CALLBACK_URL 是用于 OAuth 认证回调的 URL 地址。scope 则用于指定 OAuth 授权时需要获取的权限,在这个例子中我们使用了 'r_emailaddress' 和 'r_liteprofile' 两个权限。

当用户通过 LinkedIn 登录后,Passport-LinkedIn 会使用 callback 函数对该用户进行身份验证,验证成功后将其信息保存至数据库或返回新用户的信息。

在路由中设置 Passport

接下来,我们需要将 Passport 集成到我们的应用中。在路由中应该如下进行配置:

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

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

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

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

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

在上面的代码中,我们首先向 /linkedin 路由端点发出 GET 请求,该请求将被 Passport 重定向到 LinkedIn 授权页面。当用户完成授权后,LinkedIn 将用户重定向至 /linkedin/callback 路由端点,Passport 将在此处进行身份认证。如果认证成功,用户将被重定向到主页 Home 等位置。

示例代码

下面给出一个示例代码,展示如何将 Passport-LinkedIn 集成到您的 Express 应用中。在这个例子中,我们使用 Express.js 作为后端服务器,并使用 Passport-LinkedIn 进行用户登录认证。

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

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

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

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

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

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

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

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

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

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

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

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

在本示例中,我们定义了 /auth/linkedin 路由用于发出 GET 请求以进行身份验证。在验证时,Passport-LinkedIn 将自动跳转至 LinkedIn 授权页面,要求用户授权允许访问其 LinkedIn 账户中的某些信息。如果授权成功,Passport 会将用户重定向至 /auth/linkedin/callback 路由,身份验证将根据 callback 函数中的代码进行处理。

总结

以上是使用 Passport-LinkedIn npm 包执行 LinkedIn OAuth 认证的详细介绍。通过本文,您将学到如何在您的应用中集成 Passport-LinkedIn,使其用户可以方便地使用其 LinkedIn 账户进行登录。本文还包含了大量示例代码,可以帮助读者更好地了解如何集成 Passport-LinkedIn,从而更好地应用其功能。

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

纠错
反馈