npm 包 passport-github2 使用教程

阅读时长 7 分钟读完

介绍

passport-github2 是一个用于 Node.js 的 Passport 身份验证库的策略。可以让你使用 Github 账户进行登录、注册等操作。

本教程将详细介绍使用 passport-github2 的步骤及注意事项,帮助初学者快速掌握这一技术,并给出实际应用的示例代码。

环境准备

在使用 passport-github2 前,你需要先安装 Node.js 和一个 Github 应用程序。创建 Github 应用程序时,需要提供一个回调 URL,该 URL 将在授权时被访问。例如:http://localhost:3000/auth/github/callback。

安装

在项目中安装 passport-github2:

使用

1. 导入需要的包和实例化 passport

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

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

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

2. 在 Github 上创建 OAuth 应用

Github 开发者设置页面 创建一个 OAuth 应用,你需要提供以下信息。

  • 应用名称
  • 应用主页 URL
  • 应用描述
  • 回调 URL

3. 使用策略

-- -------------------- ---- -------
---------------- ----------------
  --------- -----------------
  ------------- ---------------------
  ------------ --------------------------------------------
--
--------------------- ------------- -------- ----- -
  ------------------- --------- ---------- -- -------- ----- ----- -
    ------ --------- ------
  ---
-
---
  • GITHUB_CLIENT_ID 和 GITHUB_CLIENT_SECRET 是在应用程序中创建的 OAuth 应用程序的客户端标识和密钥。
  • callbackURL 是在启动授权请求时,Github 将进行回调的 URL。

4. 设置路由

在授权请求之前,使用路由设置身份验证路由和回调路由。

  • /auth/github 基本路径是 Github 上的授权 URI,请求会转到 Github 上的 OAuth 流。
  • /auth/github/callback 基本路径是回调 URI,Github 将返回 access token。

5. 在路由保护中使用passport

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

-------- ------------------------ ---- ----- -
  -- ----------------------- - 
    ------ ------- 
  -
  -----------------------
-
  • ensureAuthenticated 当前用于标记需要保护的路由。当用户未经身份验证时,该路由将重定向到登录页面。

实例代码

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

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

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

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

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

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

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

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

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

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

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

结论

通过这个教程,你应该学会了使用 passport-github2 进行身份验证的步骤和方法,并能够创建一个完整的实例程序。passport-github2 在实际项目中使用非常普遍,本教程旨在帮助初学者了解这个包的使用。希望对你有所帮助。

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

纠错
反馈