返回
企业微信通过OAuth应用获取联系人身份信息
前端
2023-10-27 00:57:19
企业微信应用OAuth2授权登录原理
企业微信应用OAuth2授权登录是通过在企业微信上授权用户后,获取用户的授权码(code),再通过授权码获取用户的身份信息(openid、unionid等)。
具体流程如下:
- 用户在企业微信中打开应用。
- 应用向企业微信发送授权请求。
- 用户在企业微信中确认授权。
- 企业微信将授权码(code)重定向到应用。
- 应用使用授权码(code)向企业微信获取用户的身份信息(openid、unionid等)。
企业微信应用OAuth2授权登录步骤
- 创建企业微信应用,并配置应用的OAuth2授权回调地址。
- 在应用的OAuth2授权回调地址中,编写获取用户授权码(code)的代码。
- 使用授权码(code)向企业微信获取用户的身份信息(openid、unionid等)。
- 将获取到的用户身份信息存储在应用的数据库中。
代码示例
// 获取用户授权码(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();
操作指南
- 创建企业微信应用
登录企业微信管理后台,点击“应用管理”,然后点击“创建应用”,按照提示完成应用创建。
- 配置应用的OAuth2授权回调地址
在应用的“基本信息”页面,找到“OAuth2授权回调地址”一栏,输入应用的OAuth2授权回调地址。
- 在应用的OAuth2授权回调地址中,编写获取用户授权码(code)的代码
在应用的OAuth2授权回调地址中,编写获取用户授权码(code)的代码。代码示例如下:
// 获取用户授权码(code)
const code = request.query.code;
- 使用授权码(code)向企业微信获取用户的身份信息
使用授权码(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();