返回

企业微信通过OAuth应用获取联系人身份信息

前端

企业微信应用OAuth2授权登录原理

企业微信应用OAuth2授权登录是通过在企业微信上授权用户后,获取用户的授权码(code),再通过授权码获取用户的身份信息(openid、unionid等)。

具体流程如下:

  1. 用户在企业微信中打开应用。
  2. 应用向企业微信发送授权请求。
  3. 用户在企业微信中确认授权。
  4. 企业微信将授权码(code)重定向到应用。
  5. 应用使用授权码(code)向企业微信获取用户的身份信息(openid、unionid等)。

企业微信应用OAuth2授权登录步骤

  1. 创建企业微信应用,并配置应用的OAuth2授权回调地址。
  2. 在应用的OAuth2授权回调地址中,编写获取用户授权码(code)的代码。
  3. 使用授权码(code)向企业微信获取用户的身份信息(openid、unionid等)。
  4. 将获取到的用户身份信息存储在应用的数据库中。

代码示例

// 获取用户授权码(code)
const code = request.query.code;

// 使用授权码(code)向企业微信获取用户的身份信息
const result = await axios.get(`https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=${accessToken}&code=${code}`);

// 将获取到的用户身份信息存储在应用的数据库中
const user = new User({
  openid: result.data.openid,
  unionid: result.data.unionid,
});
user.save();

操作指南

  1. 创建企业微信应用

登录企业微信管理后台,点击“应用管理”,然后点击“创建应用”,按照提示完成应用创建。

  1. 配置应用的OAuth2授权回调地址

在应用的“基本信息”页面,找到“OAuth2授权回调地址”一栏,输入应用的OAuth2授权回调地址。

  1. 在应用的OAuth2授权回调地址中,编写获取用户授权码(code)的代码

在应用的OAuth2授权回调地址中,编写获取用户授权码(code)的代码。代码示例如下:

// 获取用户授权码(code)
const code = request.query.code;
  1. 使用授权码(code)向企业微信获取用户的身份信息

使用授权码(code)向企业微信获取用户的身份信息。代码示例如下:

// 使用授权码(code)向企业微信获取用户的身份信息
const result = await axios.get(`https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=${accessToken}&code=${code}`);
  1. 将获取到的用户身份信息存储在应用的数据库中

将获取到的用户身份信息存储在应用的数据库中。代码示例如下:

// 将获取到的用户身份信息存储在应用的数据库中
const user = new User({
  openid: result.data.openid,
  unionid: result.data.unionid,
});
user.save();