NPM包egg-passport-weixin使用教程

阅读时长 4 分钟读完

介绍

egg-passport-weixin是企业级Node.js框架egg.js的一个插件,它是egg-passport的一种实现,提供了微信OAuth认证和接口调用的封装。

egg.js

egg.js是一个企业级Node.js框架,它基于Koa.js构建,提供了一系列强大的特性和约定,使开发者可以快速构建稳定、高可用的Web应用。框架内置了很多业务所需的模块,如security加密模块、oss文件上传等。

egg-passport

egg-passport是egg.js的一个插件,它是基于Passport.js库实现的一种鉴权中间件,它可以帮助用户轻松地管理多个第三方服务(如GitHub、Facebook、Google等)的授权登陆。

egg-passport-weixin

egg-passport-weixin是egg-passport的一种实现,它提供了微信OAuth认证和接口调用的封装,可以帮助用户快速集成微信平台的登录和调用接口。

安装

npm 安装

npm install egg-passport-weixin

修改配置

在config文件夹下,修改config.default.js文件

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

以上是插件的默认配置,key和secret是公众号的账号和密码,callbackURL是授权回调URL,scope是授权范围,state是自定义参数,clientOpts是传递给passport-weixin的选项。

配置路由

在app/router.js中,添加授权路由,如下所示:

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

使用

授权

在需要授权的地方,如一个按钮的点击事件,绑定一个跳转链接到 /passport/weixin 即可:

点击后,会跳转到微信授权页,用户在授权页中输入账户名和密码,授权通过后,会跳转回授权回调URL,如下所示:

通过GET请求URL参数中的code,我们就可以换取授权用户的access_token和openid了。

获取用户信息

获取用户信息前,需要通过code换取access_token和openid,可以使用如下代码:

其中,getAccessToken方法用于向微信平台换取access_token和openid,getUserInfo方法用于获取用户信息。

总结

egg-passport-weixin是一款很好用的插件,它封装了微信认证和接口调用,大大简化了开发流程。在实际开发中,只需要按照以上步骤进行配置和使用,就可以轻松实现微信授权登录和用户信息获取的功能。

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

纠错
反馈