在企业微信中,我们可以开发企业应用。使用企业应用,我们可以访问到外部网站。那么外部网站如何获取到企业微信共享用户id呢?企业微信提供了OAuth的授权登录方式,可以让网页和企业微信共享用户ID,从而免去登录的环节

1、网页授权的基本概述

请参考https://work.weixin.qq.com/api/doc#10028

2、访问链接配置

如果企业需要在打开的网页里面携带用户的身份信息,第一步需要构造如下的链接来获取code参数:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&agentid=AGENTID&state=STATE#wechat_redirect

例如https://open.weixin.qq.com/connect/oauth2/authorize?appid=CorpID&redirect_uri=https://www.yourdomain.com/test&response_type=code&scope=snsapi_base&agentid=AgentId&state=test#wechat_redirect

注:redire_url的参数必须带有http或https

3、企业应用网址

配置好链接后,将其放到企业应用的访问地址中。
如:我想在企业应用的自定义菜单添加该链接,点击自定义菜单后跳转到可信域名的站点下。
在企业微信应用面板为该企业应用添加自定义菜单后,如下图:

最后,为菜单添加访问链接后,我们就可以www.yourdomain.com/test中获取到该企业微信的用户UserId。自定义菜单设置如下图:

4、在可信域名站点下获取code

点击“问卷调查”后,企业微信跳转到https://www.yourdomain.com/test 通过$_GET['code']就可以得到code值。

得到code后,我们就可以获取到用户的UserId,以便于后续更多相关操作了。

5、企业应用的其他操作

(1) 获取企业微信的accessTonken
 /*** 获取企业微信的accessTonken** @param  String  $corpid* @param  String $corpsecret     企业应用secret* @return String access_token*/public function getAccessToken(){$corpid = env('WEIXIN_CORPID');$corpsecret = env('WEIXIN_SECRET');$url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpid&corpsecret=$corpsecret";return json_decode($this->curl($url));}
(2) 获取UserId
public function getUserId($code, $access_token){$url = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=$access_token&code=$code";return $this->curl($url);
}
(3) curl操作
public function curl($url){$ch  = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);$output = curl_exec($ch);curl_close($ch);return $output;
}

企业微信开发--网页授权(获取code)相关推荐

  1. Weixin4j微信开发网页授权获取openid案例

    前言 weixin4j网页静默授权获取openid案例 **说明:**微信网页授权基础知识请参考官方文档. 静默授权获取OpenId 本 示例基于weixin4j开发,weixin4j是Java微信开 ...

  2. 微信开发 网页授权获取用户基本信息

    微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使用这个的时候失败了或者无法理解其内容,希望我出个教程详细讲解一下,于是便有了这篇文章. 一. ...

  3. 微信开发网页授权获取用户信息

    如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 1. 关于OAuth2.0的说明 官方网站:http://oauth.net/   htt ...

  4. 【微信】网页授权,获取CODE,OPENID,

    修改微信授权回调域名 1.在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的开发者中心页配置授权回调域名.请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加http:// ...

  5. php微信授权没有code返回,解决关于微信公众号网页授权获取code参数的问题

    解决关于微信公众号网页授权获取code参数的问题 发布时间:2018-07-24 23:21, 浏览次数:3327 , 标签: code * 在微信网页授权过程中,需要获取code参数,因为我用的是公 ...

  6. 微信开发——网页授权

    微信开发--网页授权 前期准备 前端 后端 前期准备 ①微信客户端中访问第三方页面,公众号可以通过网页登陆授权,获取微信用户的基本信息(头像.昵称等),实现业务逻辑.一切按照官方文档说明开发. ②安装 ...

  7. 如何在本地调试微信公众号授权获取code

    微信网页授权要求配置授权回调页面域名,在没有域名,没有外网IP的情况下,如何在本地调试呢.下面就来介绍一下: 1.申请公众号测试账号: 注册地址:https://mp.weixin.qq.com/de ...

  8. ajax 微信code获取_微信网页授权——获取code、access_token、openid,及跨域问题解决...

    首先在微信开发文档中有提到微信网页授权的操作步骤: 第一步:用户同意授权,获取code 在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中 ...

  9. 企业微信-构造网页授权链接实现登录

    文档地址:构造网页授权链接 - 接口文档 - 企业微信开发者中心 注意: 1.redirect_uri:回调链接地址,需要使用urlencode对链接进行处理 2.scope:如果需要获取成员的头像. ...

最新文章

  1. 深入浅出谈以太坊智能合约
  2. git fatal:HttpRequestException encountered
  3. 设计模式学习---单件模式
  4. 跨域请求——jsonp与cors
  5. meanShift算法用于目标跟踪的优缺点
  6. html+css美化后台登录界面
  7. 数据挖掘-基于随机森林模型的企业偷漏税纳税人识别
  8. pdo操作oracle,PDO基础操作
  9. MySQL原理与实践(二):一条update语句引出MySQL日志系统
  10. 资管新规下机构众生相:缩表、转型及强者生存
  11. 弦理论是如何解决量子力学和相对论间的矛盾
  12. [Leetcode] 625. Minimum Factorization 解题报告
  13. 爱python,爱学习
  14. 推荐 21 款博主常用 MacOS 软件
  15. Latex 插入代码(Matlab 或 Python)
  16. 办公系统服务器搭建,搭建云桌面办公服务器
  17. Markdown语法学习笔记
  18. 与《代码大全》齐名的经典著作 1
  19. 刷脸支付助力互联网产业时代全面到来
  20. k8s pod重启前的日志查看

热门文章

  1. echart vue 图表大小_vue使用echarts切换tab出现图表被压缩,宽度变窄问题
  2. ZYNQ嵌入式系统-Hello World 实验
  3. 织梦上一篇下一篇没有了改为英文
  4. 完美刷机显示云服务器,完美刷机正在云服务器
  5. broncho-vaxom
  6. 【转】怎样创建一个Xcode插件(Part 2)
  7. javaweb项目高并发处理
  8. keepalived实现harbor高可用
  9. 【word】正文双栏,尾注只占页面半边
  10. 岛屿的最大面积leetcode题目