企业微信开发--网页授权(获取code)
在企业微信中,我们可以开发企业应用。使用企业应用,我们可以访问到外部网站。那么外部网站如何获取到企业微信共享用户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)相关推荐
- Weixin4j微信开发网页授权获取openid案例
前言 weixin4j网页静默授权获取openid案例 **说明:**微信网页授权基础知识请参考官方文档. 静默授权获取OpenId 本 示例基于weixin4j开发,weixin4j是Java微信开 ...
- 微信开发 网页授权获取用户基本信息
微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使用这个的时候失败了或者无法理解其内容,希望我出个教程详细讲解一下,于是便有了这篇文章. 一. ...
- 微信开发网页授权获取用户信息
如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 1. 关于OAuth2.0的说明 官方网站:http://oauth.net/ htt ...
- 【微信】网页授权,获取CODE,OPENID,
修改微信授权回调域名 1.在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的开发者中心页配置授权回调域名.请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加http:// ...
- php微信授权没有code返回,解决关于微信公众号网页授权获取code参数的问题
解决关于微信公众号网页授权获取code参数的问题 发布时间:2018-07-24 23:21, 浏览次数:3327 , 标签: code * 在微信网页授权过程中,需要获取code参数,因为我用的是公 ...
- 微信开发——网页授权
微信开发--网页授权 前期准备 前端 后端 前期准备 ①微信客户端中访问第三方页面,公众号可以通过网页登陆授权,获取微信用户的基本信息(头像.昵称等),实现业务逻辑.一切按照官方文档说明开发. ②安装 ...
- 如何在本地调试微信公众号授权获取code
微信网页授权要求配置授权回调页面域名,在没有域名,没有外网IP的情况下,如何在本地调试呢.下面就来介绍一下: 1.申请公众号测试账号: 注册地址:https://mp.weixin.qq.com/de ...
- ajax 微信code获取_微信网页授权——获取code、access_token、openid,及跨域问题解决...
首先在微信开发文档中有提到微信网页授权的操作步骤: 第一步:用户同意授权,获取code 在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中 ...
- 企业微信-构造网页授权链接实现登录
文档地址:构造网页授权链接 - 接口文档 - 企业微信开发者中心 注意: 1.redirect_uri:回调链接地址,需要使用urlencode对链接进行处理 2.scope:如果需要获取成员的头像. ...
最新文章
- 深入浅出谈以太坊智能合约
- git fatal:HttpRequestException encountered
- 设计模式学习---单件模式
- 跨域请求——jsonp与cors
- meanShift算法用于目标跟踪的优缺点
- html+css美化后台登录界面
- 数据挖掘-基于随机森林模型的企业偷漏税纳税人识别
- pdo操作oracle,PDO基础操作
- MySQL原理与实践(二):一条update语句引出MySQL日志系统
- 资管新规下机构众生相:缩表、转型及强者生存
- 弦理论是如何解决量子力学和相对论间的矛盾
- [Leetcode] 625. Minimum Factorization 解题报告
- 爱python,爱学习
- 推荐 21 款博主常用 MacOS 软件
- Latex 插入代码(Matlab 或 Python)
- 办公系统服务器搭建,搭建云桌面办公服务器
- Markdown语法学习笔记
- 与《代码大全》齐名的经典著作 1
- 刷脸支付助力互联网产业时代全面到来
- k8s pod重启前的日志查看