npm 包 express-passport-boilerplate 使用教程

阅读时长 13 分钟读完

简介

express-passport-boilerplate 是一款基于 ExpressPassport 的身份验证的脚手架,可快速搭建一个基础的身份验证系统并进行二次开发。本文将详细介绍这个包的使用方法,旨在帮助前端开发人员快速构建高效、安全的 Web 应用程序。

安装

要安装该 npm 包,只需在终端中输入以下命令即可:

安装完成后,在项目文件夹中添加该包的依赖:

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

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

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

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

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

这将为您提供一个易于扩展的身份验证系统,同时集成了 loginlogoutregisterforgot password 功能。

配置

express-passport-boilerplate 默认使用以下配置:

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

如果需要修改配置,可以按照以下的格式添加到已有配置中:

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

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

登录

系统自带了 googlefacebooktwitterlocal 四个身份验证策略,可根据项目需求自行选择。

1.### Google 登录

  • Google Cloud ConsoleAPIs & Services 中添加 OAuth 2.0 客户端 ID。

  • userInfo 添加到 Google Cloud Console 中的访问类型。

  • 修改以下 google-auth 配置项:

  • 创建以下路由:
  1. Facebook 登录

  • Facebook Developers 中创建一个应用程序。

  • 内部重定向 URI 要与 “回调 URL” 的值相同。

  • 将以下字段添加到“客户端 OAuth 配置”中:emailpublic_profileuser_friends

  • 修改以下 facebook-auth 配置项:

  • 创建以下路由:

3.### Twitter 登录

  • Twitter Developer 中创建一个应用程序。

  • 将以下字段添加到“应用程序设置”中:公钥和私钥。

  • 修改以下 twitter-auth 配置项:

  • 创建以下路由:

4.### 本地登录

  • 修改以下 local-auth 配置项:
  • 创建以下路由:
-- -------------------- ---- -------
----------------- ----- ---- -- ---------------------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

使用

添加完以上路由之后,您现在可以使用以下路由:

  • /login
  • /register
  • /forgot-password
  • /reset-password
  • /auth/google
  • /auth/google/callback
  • /auth/facebook
  • /auth/facebook/callback
  • /auth/twitter
  • /auth/twitter/callback
  • /auth/local/login
  • /auth/local/register
  • /auth/local/forgot-password
  • /auth/local/reset-password

您还可以在自己的路由中使用 req.user 访问当前登录用户的信息。

结语

express-passport-boilerplate 为 Web 应用程序提供了一个易于扩展的身份验证系统,能够有效保护用户隐私和安全,并且可以方便地进行二次开发和定制。我们希望这篇文章对于正在寻找身份验证系统的前端开发人员有所帮助。

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

纠错
反馈