黑马程序员技术交流社区

标题: 【广州校区】+关于微信企业号成员登陆授权 [打印本页]

作者: 小白之路    时间: 2017-12-25 15:34
标题: 【广州校区】+关于微信企业号成员登陆授权
本帖最后由 小白之路 于 2017-12-28 16:44 编辑

在开发微信企业号接口对接可以参考如下几步:
   1、用户进入企业或服务商网站, 如www.ABC.com
   2。2、企业或服务商网站引导用户进入登录授权页 企业或服务商可以在自己的网站首页中放置“微信企业号登录”的入口,引导用户(指企业号管理员或成员)进入登录授权页。网址为:  https://qy.weixin.qq.com/cgi-bin ... xxx&usertype=member 企业或服务商需要提供corp_id,跳转uri和state参数,其中uri需要经过一次urlencode作为参数,state用于企业或服务商自行校验session,防止跨域攻击。

请求参数说明

参数        是否必须        描述
corp_id        是        服务商的CorpID或者企业的CorpID
redirect_uri        是        授权登录之后目的跳转网址,所在域名需要与登录授权域名一致
state        否        用于企业或服务商自行校验session,防止跨域攻击
usertype        否        redirect_uri支持登录的类型,有member(成员登录)、admin(管理员登录)、all(成员或管理员皆可登录),默认值为admin

3、用户确认并同意授权 用户进入登录授权页后,需要确认并同意将自己的企业号和登录账号信息授权给企业或服务商,完成授权流程。

4、授权后回调URI,得到授权码和过期时间 授权流程完成后,会进入回调URI,并在URL参数中返回授权码(redirect_url?auth_code=xxx)

5、利用授权码调用企业号的相关API 在得到授权码后,企业或服务商可以使用授权码换取登录授权信息。
获取企业号登录用户信息

接口调用请求说明

https请求方式: POST

https://qyapi.weixin.qq.com/cgi- ... _token=ACCESS_TOKEN

POST数据示例

{
   "auth_code":"xxxxx"
}
请求参数说明

参数        是否必须        描述
access_token        是        授权登录服务商的网站时,使用应用提供商的provider_access_token;
授权登录企业的网站时,使用企业管理组的access_token
auth_code        是        oauth2.0授权企业号管理员登录产生的code,只能使用一次,10分钟未被使用自动过期
返回结果示例

a) 登录用户为企业号创建者或外部系统管理员时返回如下(以创建者为例):

{
   "usertype": 1,
   "user_info":{
       "email":"xxxx"
   },
   "corp_info":{
       "corpid":"wx6c698d13f7a409a4",
    },
   "agent":[
       {"agentid":0,"auth_type":1},
       {"agentid":1,"auth_type":1},
       {"agentid":2,"auth_type":1}
   ],
   "auth_info":{
       "department":[
           {
               "id":"2",
               "writable":"true"
           }
       ]
   },
   "redirect_login_info":{
      "login_ticket":"xxxx",
      "expires_in":36000
  }
}
结果参数说明

参数        说明
usertype        登录用户的类型:1.企业号创建者 2.企业号内部系统管理员 3.企业号外部系统管理员 4.企业号分级管理员 5. 企业号成员
user_info        登录管理员的信息
email        管理员邮箱
corp_info        授权方企业信息
corpid        授权方企业号id
agent        该管理员在该提供商中能使用的应用列表
agentid        应用id
auth_type        该管理员对应用的权限:1.管理权限,0.使用权限
auth_info        该管理员拥有的通讯录权限
redirect_login_info        登录跳转的票据信息
login_ticket        登录跳转的票据
expires_in        登录跳转票据的有效时长,单位为秒

b) 登录用户为企业号内部系统管理员或分级管理员时返回如下(以内部系统管理员为例):

{
   "usertype": 2,
   "user_info":{
       "userid":"xxxx",
       "name":"xxxx",
       "avatar":"xxxx"
   },
   "corp_info":{
       "corpid":"wx6c698d13f7a409a4",
    },
   "agent":[
       {"agentid":0,"auth_type":1},
       {"agentid":1,"auth_type":1},
       {"agentid":2,"auth_type":1}
   ],
   "auth_info":{
       "department":[
           {
               "id":"2",
               "writable":"true"
           }
       ]
   },
   "redirect_login_info":{
      "login_ticket":"xxxx",
      "expires_in":36000
  }
}
结果参数说明

参数        说明
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        该管理员拥有的通讯录权限
redirect_login_info        登录跳转的票据信息
login_ticket        登录跳转的票据
expires_in        登录跳转票据的有效时长,单位为秒

c) 登录用户为企业号成员时返回如下:

{
   "usertype": 5,
   "user_info":{
       "userid":"xxxx",
       "name":"xxxx",
       "avatar":"xxxx"
   },
   "corp_info":{
       "corpid":"wx6c698d13f7a409a4",
    }
}
结果参数说明

参数        说明
usertype        登录用户的类型:1.企业号创建者 2.企业号内部系统管理员 3.企业号外部系统管理员 4.企业号分级管理员 5. 企业号成员
user_info        登录成员的信息
userid        该成员的userid
name        该成员的名字
avatar        该成员的头像
corp_info        授权方企业信息
corpid        授权方企业号id
作者: java愤怒小鸟    时间: 2017-12-28 16:52
正好需要这个,谢谢了!
作者: 帅气de路人甲    时间: 2017-12-29 09:57
已学习,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2