企业微信活跃用户判断标准有哪些(企微获取用户敏感数据)
1 、企微配置可信域名
2 、企微获取成员userID
3 、企微获取用户敏感数据一 、简介
1 、企微数据安全更新
从2022年6月20号20点开始 ,除通讯录同步以外的基础应用(如客户联系 、微信客服 、会话存档 、日程等) ,以及新创建的自建应用与代开发应用,调用该接口时 ,不再返回以下字段:头像 、性别、手机 、邮箱 、企业邮箱、员工个人二维码 、地址 ,应用需要通过oauth2手工授权的方式获取管理员与员工本人授权的字段 。
2 、身份验证方式
目前有2种身份验证方式:网页授权登录、扫码授权登录 。
2.1 网页授权登录(企微内部)官网地址
企业微信提供了OAuth的授权登录方式 ,可以让从企业微信终端打开的网页获取成员的身份信息 ,从而免去登录的环节。
企业应用中的URL链接(包括自定义菜单或者消息中的链接) ,均可通过OAuth2.0验证接口来获取成员的UserId身份信息 。企业微信OAuth2接入流程
调用流程为:
A) 用户访问第三方服务 ,第三方服务通过构造OAuth2链接(参数包括当前第三方服务的身份ID ,以及重定向URI) ,将用户引导到认证服务器的授权页
B) 用户选择是否同意授权
C) 若用户同意授权 ,则认证服务器将用户重定向到第一步指定的重定向URI,同时附上一个授权码 。
D) 第三方服务收到授权码 ,带上授权码来源的重定向URI ,向认证服务器申请凭证 。
E) 认证服务器检查授权码和重定向URI的有效性,通过后颁发AccessToken(调用凭证)静默授权与手动授权
静默授权:用户点击链接后 ,页面直接302跳转至 redirect_uri?code=CODE&state=STATE 手动授权:用户点击链接后 ,会弹出一个中间页,让用户选择是否授权 ,用户确认授权后再302跳转至 redirect_uri?code=CODE&state=STATE 2.2 扫描授权登录(浏览器)企业微信提供了OAuth的扫码登录授权方式 ,可以让企业的网站在浏览器内打开时 ,引导成员使用企业微信扫码登录授权 ,从而获取成员的身份信息 ,免去登录的环节 。
二 、企微应用配置
1 、企微配置可信域名
参考另一篇
企微配置可信域名
https://blog.csdn.net/lydms/article/details/1288859142 、企微授权登录
3 、企微可信IP
仅所配IP可通过接口获取企业数据 。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QksAk0IP-1676134790625)(/Users/liyangda/Library/Application Support/typora-user-images/image-20230212005912032.png)]
三 、网页授权登录方式(企微)
1 、构造网页登录链接
https://open.weixin.qq.com/connect/oauth2/authorize?appid={{CORPID}}&redirect_uri={{REDIRECT_URI}}&response_type={{code}}&scope={{snsapi_base}}&state={{STATE}}&agentid={{AGENTID}}#{{wechat_redirect}}参数说明:
参数 必须 说明 appid 是 企业的CorpID redirect_uri 是 授权后重定向的回调链接地址 ,请使用urlencode对链接进行处理 response_type 是 返回类型 ,此时固定为:code scope 是 应用授权作用域 。 snsapi_base:静默授权 ,可获取成员的基础信息(UserId与DeviceId); snsapi_privateinfo:手动授权 ,可获取成员的详细信息,包含头像 、二维码等敏感信息 。 state 否 重定向后会带上state参数 ,企业可以填写a-zA-Z0-9的参数值 ,长度不可超过128个字节 agentid 是 应用agentid,建议填上该参数(如果为第三方应用或者代开发自建应用 ,未填该参数不会触发接口许可自动激活) 。snsapi_privateinfo时必填否则报错; #wechat_redirect 是 终端使用此参数判断是否需要带上身份信息员工点击后 ,页面将跳转至 redirect_uri?code=CODE&state=STATE,企业可根据code参数获得员工的userid 。code长度最大为512字节。
假定当前企业CorpID:wxCorpId 访问链接:http://api.3dept.com/cgi-bin/query?action=get 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_redirect2 、企微打开授权
在企微打开后 ,会进入登录授权页面 ,打开相应连接后:
授权成功后 ,重定向地址:
企业可根据code参数调用获取员工的信息
http://lydms.com/?code=ra8mSx5bH_mga5OqylDfvuiAoXuI8ixqPipUsBbd9iQ&state=date0013 、获取访问用户身份
**请求方式:**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分钟未被使用自动过期 。返回参数
{ "userid": "lydms", "errcode": 0, "errmsg": "ok", "user_ticket": "PY_KcdqUjOPC6drzEjisMV3gRxEJayOwjbNlaZirW3r6tRQ6A2Lb3T-ibT07giuXmP7EIM6XwkbqPzzrl3dweqtx4HoLFMeql5qpDARv0bw", "expires_in": 1800 } 参数 说明 errcode 返回码 errmsg 对返回码的文本描述内容 userid 成员UserID。若需要获得用户详情信息 ,可调用通讯录接口:读取成员 。如果是互联企业/企业互联/上下游 ,则返回的UserId格式如:CorpId/userid user_ticket 成员票据 ,最大为512字节,有效期为1800s 。 scope为snsapi_privateinfo ,且用户在应用可见范围之内时返回此参数。 后续利用该参数可以获取用户信息或敏感信息 ,参见"获取访问用户敏感信息" 。暂时不支持上下游或/企业互联场景4、获取访问用户敏感信息
**请求方式:**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": "lydms", "mobile": "15811000000", "gender": "1", "email": "lydms@lydms.com", "avatar": "https://wework.qpic.cn/wwpic/250331_p99RzeaaZ_16760317/0", "qr_code": "https://open.work.weixin.qq.com/wwopen/userQRCode?vcode=vcf0b80b68e7a59", "biz_mail": "lydms@lydms.com", "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授权时返回 ,第三方应用不可获取四 、扫描授权登录(浏览器)
1 、构造独立窗口登录二维码
https://open.work.weixin.qq.com/wwopen/sso/qrConnect?appid=CORPID&agentid=AGENTID&redirect_uri=REDIRECT_URI&state=STATE参数说明
参数 必须 说明 appid 是 企业微信的CorpID ,在企业微信管理端查看 agentid 是 授权方的网页应用ID ,在具体的网页应用中查看 redirect_uri 是 重定向地址,需要进行UrlEncode state 否 用于保持请求和回调的状态 ,授权请求后原样带回给企业 。该参数可用于防止csrf攻击(跨站请求伪造攻击) ,建议企业带上该参数,可设置为简单的随机数加session进行校验 lang 否 自定义语言 ,支持zh、en;lang为空则从Headers读取Accept-Language案例:
假定当前 企业CorpID:wxCorpId 开启授权登录的应用ID:1000000 登录跳转链接:http://api.3dept.com state设置为:weblogin@gyoss9 需要配置的授权回调域为:api.3dept.com 根据URL规范 ,将上述参数分别进行UrlEncode,得到拼接的OAuth2链接为: https://open.work.weixin.qq.com/wwopen/sso/qrConnect?appid=wxCorpId&agentid=1000000&redirect_uri=http%3A%2F%2Fapi.3dept.com&state=web_login%40gyoss9返回说明 用户允许授权后 ,将会重定向到redirect_uri的网址上 ,并且带上code和state参数 。
2 、扫码登录
在浏览器输入一下地址后:
https://open.work.weixin.qq.com/wwopen/sso/qrConnect?appid=ww3e40cde07cca01&agentid=1000002&redirect_uri=https%3A%2F%2Fwww.lydms.com&state=web_login%40gyoss9用户扫码登录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3uQo3C0a-1676134790626)(/Users/liyangda/Library/Application Support/typora-user-images/image-20230212005120479.png)]
获取到重定向的地址
https://www.lydms.com/?code=Ta_E0rVc30IDRbmZ14mBnIDdmAOdsF-cJk4ZbNRWrgA&state=web_login@gyoss9&appid=ww3e40cde07cc21a013 、获取访问用户身份
该接口用于根据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":"lydms" } 参数 说明 errcode 返回码 errmsg 对返回码的文本描述内容 userid 成员UserID。若需要获得用户详情信息 ,可调用通讯录接口:读取成员创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!