最近,越来越多的网站开始使用微信作为登录方式,这不仅提高了用户的便利度,也为网站的用户增长带来了新的契机。在 Node.js 中,有一个非常好用的社区软件 NodeBB,同时也有一个可以帮助我们实现微信单点登录的 npm 包,就是 nodebb-plugin-sso-wechat2
。本篇文章主要介绍该 npm 包的使用方法及相关注意事项。
什么是 nodebb-plugin-sso-wechat2
nodebb-plugin-sso-wechat2
是一个 NodeBB 的第三方插件,它可以让用户通过扫描微信的二维码、关注微信公众号等方式进行免密码登录。nodebb-plugin-sso-wechat2
会将微信公众号中用户的基本信息同步到 NodeBB 中。这个插件需要用到微信公众平台开发者账号以及NodeBB的管理权限。
如何使用 nodebb-plugin-sso-wechat2
1. 注册微信公众平台开发者账号
要使用 nodebb-plugin-sso-wechat2
,我们需要首先登陆 微信公众平台开发者中心 创建一个开发者账号。在注册完成后,需要申请开通“网页授权获取用户基本信息”接口权限和“公众号登录”接口权限。也需要绑定域名和填写开发者信息。
2. 安装 nodebb-plugin-sso-wechat2
在 NodeBB 根目录中,运行以下命令来安装 nodebb-plugin-sso-wechat2
:
npm install nodebb-plugin-sso-wechat2
安装完成后,在 NodeBB 后台管理页面的插件界面中启用 nodebb-plugin-sso-wechat2
。
3. 配置 nodebb-plugin-sso-wechat2
运行下面的命令:
cd node_modules/nodebb-plugin-sso-wechat2
拷贝config.json.example 为 config.json 。
cp config.json.example config.json
修改config.json 文件,将appid和appsecret修改为公众平台创建应用后获得的id、secret字段。
配置项解释:
scope
:snsapi_base 或 snsapi_userinfo。snsapi_base:只能获取到openid;snsapi_userinfo:获取到openid和微信用户的基本信息snsapi_base
:是第二部分分别定义的目录snsapi_userinfo
:是第二部分分别定义的目录controllerName
:是第二部分中定义的controller的名字plugins:server
: NodeBB 的域名。如果 NodeBB 没有配置 SSL,就需要使用http
协议;否则需要使用https
协议。wechat
:是公众平台申请的名字,这个可以填任何
4. 重新启动 NodeBB
输入以下命令来重启 NodeBB :
./nodebb restart
5. 进行微信公众平台配置
在开发者中心,找到“基本配置”界面,在“公众号设置”一栏中,将服务器设置中的URL和Token设置为NodeBB访问URL。
6. 客户端网站应用微信登录
NodeBB 后台的微信授权登录功能配置完成后,客户端网站需要根据微信开发文档实现相应的微信登录功能。
可以使用 npm 包 wechat-oauth。
-- -------------------- ---- ------- --- ----- - ------------------------ -- -------------------- --- ------ - --- ------------ ----------- -- ------------------------- --------------------------- -------- ----- ------- - --- ----- - ------------------------- --- ------ - ------------------- -- --------------------------- ---------------------- -------- ----- ------- - -- -------- -------------------- -- ---------- -------- ----- ------- ---- -------------------- ----- - ------- -------------- --------- ---------------- ---- ----------- ----------- ----------------- - ---------------- ------ - ------------------ ------------------ ---------------- -- - ------------------- --- --- ---
总结
nodebb-plugin-sso-wechat2
让 NodeBB 网站支持微信单点登录变得十分容易,并且可以通过微信公众号将用户的基本信息同步到 NodeBB。通过本篇文章的介绍,我们了解了 nodebb-plugin-sso-wechat2
的安装、配置和使用步骤。希望这篇文章对大家有所帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055a2281e8991b448d7c65