前言
随着企业微信的流行,很多企业都开始使用企业微信来作为内部沟通的工具。由于需要接入外部系统,因此需要使用到企业微信的身份认证(企业微信网页授权)功能。@yantao0527/ passport-wechat-enterprise 是一个 npm 包,它可以帮助我们轻松地实现企业微信身份认证,接下来我们来一步步学习如何使用它。
安装
在开始使用之前,我们需要安装该 npm 包,使用以下命令可以完成安装:
$ npm install @yantao0527/passport-wechat-enterprise
配置
在使用之前,我们需要进行一些配置,首先在企业微信后台创建一个企业应用,获得以下信息:
- corpId
- agentId
- secret
然后我们需要在代码中进行配置,示例如下:
-- -------------------- ---- ------- ----- ------------------------ - ----------------------------------------------------------- ---------------- -------------------------- ------- ------------- -------- -------------- ------- ------------- ------------ ------------------------------------------------------- -- --------------------- ------------- -------- ----- - -- --------- - ---
其中 WechatEnterpriseStrategy
是该 npm 包中的一个类,我们需要实例化它,并且在构造函数中进行配置,包含以下几个参数:
corpId
: 企业的 corpId,必填agentId
: 应用的 agentId,必填secret
: 应用的 secret,必填callbackURL
: 回调 URL,必填
其中第二个参数是一个回调函数,当用户验证通过后,将会调用该函数,我们在该函数中可以获取到用户的一些信息,比如 accessToken、refreshToken、profile 等,可以在这个回调函数中处理用户信息。
集成
配置完成之后,接下来我们需要来集成这个认证模块,为了方便展示,下面我们演示一个以 Express.js 框架为例的集成。
首先,我们需要引入 passport
模块:
const passport = require('passport')
然后,我们需要在我们的 Express.js app 中使用 passport:
const app = express(); app.use(passport.initialize()); app.use(passport.session());
接下来,我们需要创建一个路由,这个路由接收从企业微信的回调过来的信息,并将其处理,示例代码如下:
-- -------------------- ---- ------- ---------------------------------- -------------------------------------------- ------------------------------------------- ------------------------------------------ - ---------------- -------- --- ------------- ---- - -- ------- ------------------ - --
其中第一个路由 /auth/wechat-enterprise
是用来接收企业微信的回调请求,然后进行身份认证的。第二个路由 /auth/wechat-enterprise/callback
是回调处理路由。
示例代码
下面是完整的示例代码:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- -------- - -------------------- ----- ------------------------ - ----------------------------------------------------------- ----- --- - ---------- ------------------------------- ---------------------------- ------------------------------------- ----- - ---------- ------ --- -------------------------------------- ----- - ---------- ----- --- ---------------- -------------------------- ------- ------------- -------- -------------- ------- ------------- ------------ ------------------------------------------------------- -- --------------------- ------------- -------- ----- - -- --------- - --- ---------------------------------- -------------------------------------------- ------------------------------------------- ------------------------------------------ - ---------------- -------- --- ------------- ---- - -- ------- ------------------ - -- -----------------
总结
通过上述步骤,我们可以完成使用 @yantao0527/passport-wechat-enterprise npm 包进行企业微信身份认证的操作。其中需要注意的是,在配置过程中需要提供企业的集成信息,而集成信息是需要在企业微信的后台进行创建的。同时我们还演示了一个完整的 express 应用,展示了如何进行集成。
该 npm 包的使用可以方便开发者快速地集成企业微信身份认证,避免重复开发,提高开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055d1c81e8991b448dab78