企业微信的提供了OAuth的授权登录方式,可以让从企业微信或微信终端打开的网页获取联系人的身份信息,从而免去登录的环节。
企业应用中的URL链接(包括自定义菜单或者消息中的链接),均可通过OAuth2.0验证接口来获取联系人的UserId身份信息。
官方截图来一波,更加清晰
1、前端构造网页授权链接,来获取code参数(用于后面作为参数,获取联系人userId)
授权链接的拼接规范:
open.weixin.qq.com/connect/oau…
参数说明:
联系人(内部员工与客户联系人)点击后,页面将跳转至redirect_url?code=CODE&state=STATE,企业可根据code参数获取到联系人的userId。
返回的页面跳转地址:
2、获取access_token
注意:为了安全考虑,开发者请勿将access_token返回给前端,需要开发者保存在后台,所有访问企业微信api的请求由后台发起!!!
获取access_token是调用企业微信API接口的第一步,相当于创建了一个登录凭证,其他的业务API接口,都需要依赖与access_token(需明确access_token的颁发来源,使用正确的)来鉴权调用者身份。
请求方式:GET(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET
参数:
权限说明:每个应用有独立的secret,获取到的access_token只能本应用使用,所以每个应用是的access_token应该分开来获取
注意事项:
开发者需要缓存access_token,用于后续接口的调用(注意:不能频繁的调用getten接口,否则会受到频率拦截)。当access_token失效或过期,要重新获取。
access_token的有效期通过返回的expires_in来传达,正常情况下为7200秒(2小时),有效期内重复获取返回相同结果,过期后获取会返回新的access_token。
企业微信可能会出于运营需要,提前使access_token失效,开发者应实现access_token失效时重新获取的逻辑。
3、获取访问者身份(即咱们需要的数据)
注意:得到code的外部用户必须存在于咱们的企业微信联系人中,否则返回结果(情况b)中没有external_userid
请求方式:GET(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE
返回结果:
a)当用户为企业时(无论是否在应用可见范围内)返回示例如下:
b)非企业成员时,返回示例如下:
出错示例:
{
"errcode": 40029,
"errmsg": "invalid code"
}
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!