序
- 我会告诉你在哪里点
- 我会告诉你在哪里配置
- 点下去他只返回auth_code的,我怎么登录
正文
他是在这个位置
是这样,应用授权安装第三方应用后,企业微信(管理员角色)是可以从pc端企业后台点第三方应用的。
如果我没记错(昨天搞的,今天来写的笔记),服务商后台我们开发的地方是配置这个域名(他也可以带后缀,比如www.***.com/***/***,他其实可以是路径)
如果!你点了这个路径后,他问你是否跳转某某第三方应用
你点击跳转,他是有这个路径(企业微信审核员也是通过这个入口点的你的应用)
这个路径上她只有auth_code 这个东西,
乍一看,就跟我们之前获取永久授权链接那个预授权码很像,但是这么用哦!!!!!!!
我只能跟你说思路(雪狼是node搞的后端)
我贴一段代码,你先理解下,
因为和之前安装完获取永久授权码同一个页面,所以我做了判断,之前获取永久授权码是会传state然后返回state,而现在这个只返回auth_code
(上面这个看不懂不碍事!!!!!!!!)
重点操作步骤
一、先获取suite_access_token
官方文档=》获取第三方应用凭证 - 接口文档 - 企业微信开发者中心
async accessTokenFun1(){
let m = this,
{app} = m;
await m.getTextData()
const result = await app.curl('https://qyapi.weixin.qq.com/cgi-bin/service/get_suite_token', {
method: 'POST',
data: {
"suite_id":this.SuiteID ,
"suite_secret":this.Secret,
"suite_ticket": this.suite_ticket
},
contentType: 'json',
dataType: 'json',
});
m.suite_access_token=result.data.suite_access_token;
await m.get_login_info();
}
二、获取登录用户信息
官方文档=》单点登录 - 接口文档 - 企业微信开发者中心
请求参数
参数 | 是否必须 | 说明 |
---|---|---|
access_token | 是 | 授权登录服务商的网站时,使用应用提供商的provider_access_token,获取方法参见服务商的凭证 |
auth_code | 是 | oauth2.0授权企业微信管理员登录产生的code,最长为512字节。只能使用一次,5分钟未被使用自动过期 |
返回参数
参数 | 说明 |
---|---|
errcode | 返回码 |
errmsg | 对返回码的文本描述内容 |
usertype | 登录用户的类型:1.创建者 2.内部系统管理员 3.外部系统管理员 4.分级管理员 5.成员 |
user_info | 登录用户的信息 |
userid | 登录用户的userid,登录用户在通讯录中时返回 |
name | 登录用户的名字,登录用户在通讯录中时返回 |
avatar | 登录用户的头像,登录用户在通讯录中时返回 |
corp_info | 授权方企业信息 |
corpid | 授权方企业id |
agent | 该管理员在该提供商中能使用的应用列表,当登录用户为管理员时返回 |
agentid | 应用id |
auth_type | 该管理员对应用的权限:1.管理权限,0.使用权限 |
auth_info | 该管理员拥有的通讯录权限,当登录用户为管理员时返回 |
async get_login_info(){
let m = this,
{app} = m;
const result = await app.curl('https://qyapi.weixin.qq.com/cgi-bin/service/get_login_info?access_token='+m.suite_access_token, {
method: 'POST',
data: {
auth_code:m.auth_code
},
contentType: 'json',
dataType: 'json',
});
// '{"usertype":2,"user_info":{"userid":"wo1eBuCAAAN9P5UumQKc9DL3R3CIQ4tA","name":"wo1eBuCAAAN9P5UumQKc9DL3R3CIQ4tA","avatar":"https://rescdn.qqmail.com/node/wwmng/wwmng/style/images/independent/DefaultAvatar$73ba92b5.png","open_userid":"wo1eBuCAAAN9P5UumQKc9DL3R3CIQ4tA"},"corp_info":{"corpid":"wp1eBuCAAAEsRaNo_Lw9fOJtmxoZWekQ"},"agent":[{"agentid":1000044,"auth_type":1}],"auth_info":{"department":[{"id":1,"writable":true}]}}'
if(m.textData.corpid==result.data.corp_info.corpid){//判断公司是不是同
m.ctx.body = {
code:200,
data:{
permanent_code:m.textData.permanent_code,
corpid:m.textData.corpid,
},
msg:"查询成功",
};
}
//拿到公司id
}
其实node就是js语法,后端看前端 的代码应该很容易理解。
当初你安装应用后,获取的永久授权、企业id、那些要存起来,
思路是这样的,
获取用户信息(所属企业corpid)=》去数据库里找之前获取永久授权时候存的企业id对比,然后对对应这个企业的永久授权码返回给前端,=》前端有永久授权码、企业id 就可以进行其他接口的请求
下面是废话
我知道企业微信这里坑很多,但是我也不清楚35岁的我还能做多久这行多久,只能说,能帮一个是一个吧。哪天我超过一个月没更新博客了,希望大家莫怪。
扩展阅读
1、node配置企业微信回调配置HttpGet教程
2、node配置企业微信回调配置HttpPost
3、iconfont变黑色和引入两个iconfont的解决方案(图文教程)
4、vue3渲染函数加入自定义指令(图文教程)
5、vue3自定义指令(图文教程)
6、ai生成表情包赚米(图文教程)
7、uni-app 小程序主包、分包优化方案
8、小程序手机号授权登录(图文教程)
9、短信验证码收不到-解决方案
10、vue3ts的透传$attrs用法
11、vue3 清空/重置reactive
12、vite打包可视化工具rollup-plugin-visualizer图文教程
13、vue3 h函数使用图文教程
14、抖音跳微信小程序(抖音分享卡片和链接)图文教程
15、pinia 持久化插件pinia-plugin-persistedstate 安装、使用(图文详解)
16、uni-app 生成安卓证书
17、uniapp小程序限制微信群访问(图文教程)
18、前端常见4种缓存方式(图文教程)
19、es6~es13 新增数组遍历一览
20、禁debugger调试网页,禁F12(完整教程)
21、常用的19个正则-表单验证
22、报错状态码 200 300 400 500
23、周公解梦功能(附数据)
24、node开发微信群聊机器人第⑮章
25、node开发微信群聊机器人第⑭章
26、node开发微信群聊机器人第⑬章
27、Linux安装node18完整图文教程
28、VMware虚拟机、linux安装图文教程
29、我把微信群聊机器人项目开源
30、node开发微信群聊机器人第⑫章
31、node开发微信群聊机器人第⑪章
32、node开发微信群聊机器人第⑩章
33、node开发微信群聊机器人第⑨章
34、node开发微信群聊机器人第⑧章
35、node开发微信群聊机器人第⑦章
36、node开发微信群聊机器人第⑥章
37、公众号涨粉攻略(阳谋)
38、公众号涨粉攻略(阴谋)
39、node开发微信群聊机器人第⑤章
40、node开发微信群聊机器人第④章
41、node开发微信群聊机器人第③章
42、用node开发微信群聊机器人第②章
43、用node开发微信群聊机器人第①章
雪狼原创表情包
1、【我很凶】微信表情 - 来自微信表情商店,扫二维码下载表情
2、【程序员雪狼】微信表情 - 来自微信表情商店,扫二维码下载表情
3、【web前端雪狼】微信表情 - 来自微信表情商店,扫二维码下载表情