企业微信自建应用手动授权,获取用户详细信息
创始人
2024-04-12 06:35:54
0

开始开发

最后更新:2022/10/11

企业微信提供了OAuth的授权登录方式,可以让从企业微信终端打开的网页获取成员的身份信息,从而免去登录的环节。
企业应用中的URL链接(包括自定义菜单或者消息中的链接),均可通过OAuth2.0验证接口来获取成员的UserId身份信息。

OAuth2简介

OAuth2的设计背景,在于允许用户在不告知第三方自己的帐号密码情况下,通过授权方式,让第三方服务可以获取自己的资源信息。
详细的协议介绍,开发者可以参考RFC 6749。

下面简单说明OAuth2中最经典的Authorization Code模式,流程如下:

流程图中,包含四个角色。

  • ResourceOwner为资源所有者,即为用户
  • User-Agent为浏览器
  • AuthorizationServer为认证服务器,可以理解为用户资源托管方,比如企业微信服务端
  • Client为第三方服务

调用流程为:
A) 用户访问第三方服务,第三方服务通过构造OAuth2链接(参数包括当前第三方服务的身份ID,以及重定向URI),将用户引导到认证服务器的授权页
B) 用户选择是否同意授权
C) 若用户同意授权,则认证服务器将用户重定向到第一步指定的重定向URI,同时附上一个授权码。
D) 第三方服务收到授权码,带上授权码来源的重定向URI,向认证服务器申请凭证。
E) 认证服务器检查授权码和重定向URI的有效性,通过后颁发AccessToken(调用凭证)

D)与E)的调用为后台调用,不通过浏览器进行

获取访问用户身份

最后更新:2022/09/23

该接口用于根据code获取成员信息,适用于自建应用与代开发应用

请求方式:GET(HTTPS
请求地址:https://qyapi.weixin.qq.com/cgi-bin/auth/getuserinfo?access_token=ACCESS_TOKEN&code=CODE
参数说明:

参数必须说明
access_token调用接口凭证
code通过成员授权获取到的code,最大为512字节。每次成员授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。

权限说明:
跳转的域名须完全匹配access_token对应应用的可信域名,否则会返回50001错误。
返回结果:
a) 当用户为企业成员时(无论是否在应用可见范围之内)返回示例如下:

{"errcode": 0,"errmsg": "ok","userid":"USERID","user_ticket": "USER_TICKET"
}

获取访问用户敏感信息

最后更新:2022/09/19

自建应用与代开发应用可通过该接口获取成员授权的敏感字段

请求方式:POST(HTTPS
请求地址:https://qyapi.weixin.qq.com/cgi-bin/auth/getuserdetail?access_token=ACCESS_TOKEN

请求包体:

{"user_ticket": "USER_TICKET"
}

参数说明:

参数必须说明
access_token调用接口凭证
user_ticket成员票据

权限说明:
成员必须在应用的可见范围内。

返回结果:

{"errcode": 0,"errmsg": "ok","userid":"lisi","gender":"1","avatar":"http://shp.qpic.cn/bizmp/xxxxxxxxxxx/0","qr_code":"https://open.work.weixin.qq.com/wwopen/userQRCode?vcode=vcfc13b01dfs78e981c","mobile": "13800000000","email": "zhangsan@gzdev.com","biz_mail":"zhangsan@qyycs2.wecom.work","address": "广州市海珠区新港中路"
}

参数说明:

参数说明
errcode返回码
errmsg对返回码的文本描述内容
userid成员UserID
gender性别。0表示未定义,1表示男性,2表示女性。仅在用户同意snsapi_privateinfo授权时返回真实值,否则返回0.
avatar头像url。仅在用户同意snsapi_privateinfo授权时返回
qr_code员工个人二维码(扫描可添加为外部联系人),仅在用户同意snsapi_privateinfo授权时返回
mobile手机,仅在用户同意snsapi_privateinfo授权时返回,第三方应用不可获取
email邮箱,仅在用户同意snsapi_privateinfo授权时返回,第三方应用不可获取
biz_mail企业邮箱,仅在用户同意snsapi_privateinfo授权时返回,第三方应用不可获取
address仅在用户同意snsapi_privateinfo授权时返回,第三方应用不可获取

注:对于自建应用与代开发应用,敏感字段需要管理员在应用详情里选择,且成员oauth2授权时确认后才返回。敏感字段包括:性别、头像、员工个人二维码、手机、邮箱、企业邮箱、地址。

上一篇

 


 

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwd70ee88af370290f&redirect_uri=http://yuying-api.xutongbao.top/index1.html&response_type=code&scope=snsapi_privateinfo&agentid=1000004&state=STATE#wechat_redirect

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwd70ee88af370290f&redirect_uri=http://yuying-api.xutongbao.top/index1.html&response_type=code&scope=snsapi_privateinfo&agentid=1000004&state=STATE#wechat_redirect

 

https://developer.work.weixin.qq.com/document/path/91022

接口:

const toolsQiWeUserInfo = async (req, res) => {const { code } = req.bodyaxios({url: 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wwd70e*****290f&corpsecret=JrPSfOHlNzPiF******CV4VPwUuuHwAxyUdUDu8',}).then((resData) => {let access_token = resData.data.access_tokenaxios({url: `https://qyapi.weixin.qq.com/cgi-bin/auth/getuserinfo`,params: {access_token,code,debug: 1,},}).then((resData) => {console.log(res)let userInfo = resData.dataaxios({url: `https://qyapi.weixin.qq.com/cgi-bin/auth/getuserdetail?access_token=${access_token}&debug=1`,data: {user_ticket: userInfo.user_ticket},method: 'post'}).then((resData) => {console.log(res)res.send({code: 200,data: {userInfo,userDetail: resData.data},message: '成功',})})})})
}

前端:


Document
信息
群ID:

 

 

相关内容

热门资讯

和解方案遭拒:多位作家再次起诉... 此次起诉作家的部分作品。 据《出版人周刊》报道,近期六位作家分别针对Anthropic、OpenAI...
欧林生物(688319)披露涉... 截至2025年12月30日收盘,欧林生物(688319)报收于25.32元,较前一交易日下跌0.74...
高新发展:华惠嘉悦汇广场合同纠... 观点网讯:12月30日,成都高新发展股份有限公司(高新发展)发布公告,披露其全资子公司成都倍特建筑安...
我国首例AI幻觉引发的侵权纠纷... 12月29日晚,杭州互联网法院公开了一起关于AI幻觉的网络侵权纠纷案的审判情况。 2025年6月,...
原创 滨... 鲁网12月30日讯12月29日,滨州市召开高质量完成“十四五”规划主题系列新闻发布会第五场——“平安...
制度供给,邮轮经济有了“上海模... 图为吴淞口国际邮轮港,今年前三季度,靠泊邮轮177艘次,占全国市场六成。/采访对象提供 邮轮经济产业...
西藏深耕新时代“枫桥经验” 多... 中新网拉萨12月30日电 (贡嘎来松)30日,西藏自治区司法厅召开西藏自治区调解工作基本情况新闻发布...
浦东建设(600284)披露修... 截至2025年12月30日收盘,浦东建设(600284)报收于8.55元,较前一交易日上涨1.06%...
中钢国际(000928)发布现... 截至2025年12月30日收盘,中钢国际(000928)报收于6.56元,较前一交易日下跌1.5%,...