业务需求:

企业号微信端绑定一个应用,此应用可见范围为添加的企业授权员工(非微信里授权的员工以外人员不可访问)。

问题:

当员工分享出去后,别的人也可以打开访问,现在需要进行验证,打开链接时判断是否为企业授权人员 ,不是则不能访问。

解决策略:

通过OAuth2.0验证接口来获取成员的身份信息

注意,此URL的域名,必须完全匹配企业应用设置项中的'可信域名'(如果你的redirect_uri有端口号,那'可信域名'也必须加上端口号),否则跳转时会提示redirect_uri参数错误。

可信域名必须为备案后的域名或二级域名(我就遇到此问题,提示 redirect_uri参数错误)

1.在微信公众号应用里绑定域名和链接 微信断打开获取微信用户code参数

企业如果需要员工在跳转到企业网页时带上员工的身份信息,需构造如下的链接:

此为未备案 的域名

FOCUS:

员工点击后,页面将跳转至 redirect_uri/?code=CODE&state=STATE,企业可根据code参数获得员工的userid。

js可通过url获取code参数

function getParameterByName(name){

var values = decodeURIComponent((location.search.match(RegExp("[?|&]" + name + '=([^\&]+)'))||[,null])[1]);

return  values == "" || values == "null" ? "" : values;

};

传入参数 name='code'

2.根据code获取访问成员信息

请求说明

Https请求方式:GET

3.获取微信企业应用参数信息,得到应用的人员信息

接口说明

该API用于获取企业号某个应用的基本信息,包括头像、昵称、帐号类型、认证类型、可见范围等信息

请求说明

Https请求方式: GET

4.根据2获得的 微信用户信息与3得到的企业人员用户进行 匹配判断分配权限

5.通过HTML5,把员工信息保留session 对每个页面进行权限判断

sessionStorage.setItem("access",datas.code);

sessionStorage.getItem("access") == null

PS:AccessToken

AccessToken是企业号的全局唯一票据,调用接口时需携带AccessToken。

AccessToken需要用CorpID和Secret来换取,正常情况下AccessToken有效期为7200秒,有效期内重复获取返回相同结果,并自动续期。

由于获取access_token的api调用次数非常有限,建议应用存储与更新access_token,频繁刷新access_token会导致api调用受限,影响自身业务。

请求说明

Https请求方式: GET

开发中遇到的问题:

1.code只能通过微信客户端获得,需通过js从回调的url 截取 后alert(code)进行查看

2.后端php访问微信接口

刚开始使用 file_get_contents方式   延时 访问失败 ,得不到数据

使用curl 函数 访问https 成功

function getHTTPS($url) {

$ch = curl_init();

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_HEADER, false);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_REFERER, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$result = curl_exec($ch);

curl_close($ch);

return $result;

}

微信企业号用户验证php,企业号OAuth2.0验证企业用户接口相关推荐

  1. Java微信公众平台开发(十六)--微信网页授权(OAuth2.0授权)获取用户基本信息

    转自:http://www.cuiyongzhi.com/post/78.html 好长时间没有写文章了,主要是最近的工作和生活上的事情比较多而且繁琐,其实到现在我依然还是感觉有些迷茫,最后还是决定静 ...

  2. 淘宝店铺发布API接口(新),淘宝oAuth2.0店铺商品API接口,淘宝商品发布API接口,淘宝商品上架API接口,一整套发布上架店铺接口对接分享

    淘宝店铺发布API接口(新),淘宝oAuth2.0店铺商品API接口,淘宝商品发布API接口,淘宝商品上架API接口,一整套发布上架店铺接口对接分享如下 1.公共参数 名称 类型 必须 描述 key ...

  3. 使用oauth2.0自动获取用户信息

    开发过程中,在未使用oauth2.0之前,通常确定用户信息是使用推送消息并带有用户 openid 来实现的,但带来的问题也很明显,如果是用户主动分享出去由其他用户点击进入的则无法正常获取其基本信息,如 ...

  4. Oauth2.0搭建开放平台接口

    开放平台 类似qq互联.微信开放平台和蚂蚁金服开放平台等,可以实现qq联合登陆.微信扫码登陆等.在大型公司中,公司旗下的分公司等相互通讯也可以采用开放平台形式对接口进行授权使用. Oauth 一个开放 ...

  5. 淘宝开放平台店铺订单管理oAuth2.0订单同步获取接口解决方案

    正常为了进行淘宝/天猫平台卖家订单商品oAuth2.0开发,首先我们需要做下面几件事情. 1.注册一个开发者账号,拥有订单管理相关应用标签:需要部署聚石塔. 2.然后为每个淘宝应用注册一个应用程序键( ...

  6. Spring Security OAuth2.0_实现分布式认证授权_扩展用户信息_Spring Security OAuth2.0认证授权---springcloud工作笔记156

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 然后我们现在其实还有个问题. 我们在我们的资源微服务中的方法中,只能拿到登录用户的用户名对吧,这样 ...

  7. win7安装mysql8.0创建用户_CentOS如何安装MySQL8.0、创建用户并授权的详细步骤

    # 安装相关软件 yum install -y gcc gcc-c++ openssl openssl-devel ncurses ncurses-devel make cmake # 获取MySQL ...

  8. OAuth2.0协议之新浪微博接口演示

    新浪微博接口调用数据代码: <?php /** * @ Author : LiBo * @ Date : 2013-10-25 * @ File : weiboapi.php * * @ 说明: ...

  9. oAuth2.0商品发布API接口,店铺上传接口,店铺商品发布接口,超详细的介绍

    一.新商品发布接口,商品上下架接口,店铺上传接口,新的接口对接方式文档如下: 第一步:打开开放平台链接:https://open.taobao.com/docV3.htm?spm=a219a.7386 ...

最新文章

  1. python中根据URL获得数据库的名称及IP
  2. ArcFace - 人脸识别
  3. QPS/TPS/并发量/系统吞吐量的概念
  4. SQLServer中进行sql除法运算结果为小数时显示0的解决方案
  5. GIS-001-gdal软件下载地址
  6. iOS 地图定位 定位
  7. 软件设计文档国家标准_GB8567--88
  8. 在计算机发展的早期 计算机主要用于,全国网络统考《计算机应用基础》选择题复习...
  9. shell替换程序里的代码
  10. synchronized关键字理解
  11. php cli获取参数,php cli模式下获取参数的方法
  12. 中国口内X射线系统行业市场供需与战略研究报告
  13. (转)apple-touch-icon-precomposed 和 apple-touch-icon属性区别
  14. Java随机生成_0--2π_使用随机数计算PI
  15. 射频中的回波损耗,反射系数,电压驻波比以及S参数的含义和关系
  16. 原来最强赘婿在二次元长这样,秒穿次元壁的AI特效又双叒火了
  17. HDU5745 La Vie en rose
  18. SPICE模型入门到精通
  19. QTREE系列1,4,5,6,7 LCT
  20. for循环的auto用法

热门文章

  1. 谭志强c语言电子书txt,少儿编程while语句试讲
  2. 前端接收list的情况 (批量添加)出现这个错说明不是传参错误,是解析错误
  3. 如何安装python自带的pip_python自带的pip在哪里
  4. linux一次三行显示文件内容,Linux 命令合集(二):查看文件及内容处理命令
  5. 26.K-均值算法的优化目标、随机初始化、聚类数的选择
  6. 加快MATLAB运行速度的三个方法
  7. 3D打印控制板初步认识
  8. Java学习之定义一个Circle类并测试所有方法
  9. 【网络基础】第01章 黑客攻防常用命令
  10. intellij idea字体大小设置一秒完成