npm 包 egg-passport-workweixin 使用教程

阅读时长 6 分钟读完

近年来,企业微信成为企业内部沟通和管理的重要工具。在前端开发中,使用企业微信登录的需求越来越常见。为了满足这一需求,开发人员推出了 egg-passport-workweixin 这个 npm 包。本文将详细讲解该 npm 包的使用方法。

什么是 egg-passport-workweixin

egg-passport-workweixin 是 egg.js 框架中 passport.js 的一个插件,它可以实现企业微信登录功能。使用 egg-passport-workweixin,前端开发人员能够简单地集成企业微信登录,实现方便快捷的用户登录、授权等功能。

使用 egg-passport-workweixin 前,先确保已经使用 egg.js 创建了项目,然后通过 npm 安装 egg-passport-workweixin:

egg-passport-workweixin 的配置方法

在 egg.js 的 config.default.js 中配置 egg-passport-workweixin

在 egg.js 项目的 config.default.js 文件添加以下内容:

  1. keysecret 分别为 企业微信开放平台上应用的 corpIDsecret
  2. agentid 为企业微信应用的 agentid,用于设置授权作用域和展示菜单。
  3. callbackURL 认证回调地址。
  4. passReqToCallback 决定了参数列表紧随的回调函数是否用请求(req)作为第一个参数的参数。如果设置为 true,当用户登录成功后,将额外地传递一个 req 参数到回调函数中。

配置 egg-passport 和 egg-passport-workweixin

在 egg.js 项目中的 config/plugin.js 中配置 egg-passport 和 egg-passport-workweixin:

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

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

在路由中注册 egg-passport

在 egg.js 项目的 router.js 中注册 egg-passport 的 router:

在 Controller 中添加方法

在 Controller 中添加方法:

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

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

示例代码

下面是 egg.js 项目的完整示例:

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

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

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

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

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

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

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

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

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

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

在 Controller 文件夹下创建 workwx_login.nj 文件,在视图中添加登录链接:

在 Controller 文件夹下创建 workwx_callback.nj 文件,在视图中添加登录成功后的页面:

最终效果为:

  1. 访问 localhost:7001/login,点击“企业微信登录”,跳转到企业微信认证页面。
  2. 在认证页面中输入企业微信账号和密码,授权后会自动回调到之前设定的callbackURL。
  3. 回调接口会将用户信息传到 callback 函数中,在 workwxCallback 方法内可以获取用户信息并渲染页面展示。
  4. 页面展示欢迎语及用户信息。

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

纠错
反馈