对接企业微信3:网页授权登录

构造网页授权链接

如果企业需要在打开的网页里面携带用户的身份信息,第一步需要构造如下的链接来获取code参数:

 
  1. https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect

参数说明:

参数必须说明
appid企业的CorpID
redirect_uri授权后重定向的回调链接地址,请使用urlencode对链接进行处理
response_type返回类型,此时固定为:code
scope应用授权作用域。企业自建应用固定填写:snsapi_base
state重定向后会带上state参数,企业可以填写a-zA-Z0-9的参数值,长度不可超过128个字节
#wechat_redirect终端使用此参数判断是否需要带上身份信息

员工点击后,页面将跳转至 redirect_uri?code=CODE&state=STATE,企业可根据code参数获得员工的userid。code长度最大为512字节。

示例:

假定当前企业CorpID:wxCorpId
访问链接:http://api.3dept.com/cgi-bin/query?action=get

根据URL规范,将上述参数分别进行UrlEncode,得到拼接的OAuth2链接为:

 
  1. https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxCorpId&redirect_uri=http%3a%2f%2fapi.3dept.com%2fcgi-bin%2fquery%3faction%3dget&response_type=code&scope=snsapi_base&state=#wechat_redirect

注意,构造OAuth2链接中参数的redirect_uri是经过UrlEncode的

员工点击后,页面将跳转至

 
  1. http://api.3dept.com/cgi-bin/query?action=get&code=AAAAAAgG333qs9EdaPbCAP1VaOrjuNkiAZHTWgaWsZQ&state=

企业可根据code参数调用获取员工的信息

这里面刚开始还没看懂,我来解释一下需要三步:

1.企业微信管理员绑定这个地址:点击应用的时候会调用这个地址

https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect

redirect_uri为你接口登录的地址

注意:redirect_uri 中的回调地址和端口要下面的可信域名保持一致

这里即使是80端口也要写上,否则会可能会报域名不可信

{"errcode":50001,"errmsg":"redirect_uri unauthorized, hint: [1659352418347281252720251], from ip: 123.57.220.31, more info at https://open.work.weixin.qq.com/devtool/query?e=50001"}

2.点击应用 企业微信  调用上面的地址成功后 回调你的接口地址redirect_uri

并把相应的参数传给你 action,code,state 重要的是拿到code之后 code参数调用

3.根据code获取员工的userid,进行免登录

获取员工的信息 里面有userid ,这个userid应该在你库里已经存了,(不知道怎么获取的看我这个博客https://blog.csdn.net/zhaofuqiangmycomm/article/details/121523011

如果userid已经有效的存在你的库里那么你可以进行免登录操作了

官方文档

企业微信API

这个回调的设计思路真是妙啊,根据你的传输的参数路径 来再回调这个路径进行免登录

可以借鉴到接口服务器的设计思路

官方文档:开始开发 - 接口文档 - 企业微信开发者中心

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值