harryhan1989 / passport-wechat-work

企业微信passport, work 微信
MIT License
7 stars 2 forks source link

getAccessToken 和 saveAccessToken 用法是什么? #2

Open chf007 opened 4 years ago

chf007 commented 4 years ago

function getAccessToken(cb) { ... }, function saveAccessToken(accessToken,cb){ ... }

配置中这2个方法具体用法是什么?有更具体的例子么

chf007 commented 4 years ago

看源码大概知道怎么用了

let accessTokenTmp = '';

passport.use(
  'wechat-work',
  new WechatWorkStrategy(
    {
      corpId: process.env.WECHAT_WORK_CORP_ID,
      corpSecret: process.env.WECHAT_WORK_CORP_SECRET,
      agentId: process.env.WECHAT_WORK_AGENT_ID,
      callbackURL: process.env.WECHAT_WORK_CALLBACK_URL || "http://localhost:4242/auth/wechatwork/callback",
    },

    (profile, done) => {
      getWechatWorkUserInfo(accessTokenTmp, profile.UserId).then(result => {
        const { data } = result;

        if(!data.status) {
          done(error, false, { message: '用户未激活' });
        }

        done(
          null,
          new unleash.User({
            id: data.userid,
            name: data.name,
            username: data.alias,
            email: data.email,
            imageUrl: data.avatar,
          }),
        );
      }).catch(error => {
        console.log(error);
        done(error, false, { message: '查询企业微信用户信息出错' });
      });

    },
    function getAccessToken(cb) {
      cb(null, accessTokenTmp);
    },
    function saveAccessToken(accessToken, cb) {
      accessTokenTmp = accessToken.access_token;
    },
  ),
);

accessTokenTmp 我可以在调微信接口查询用户详细信息时用到