PHP 微信三方平台代公众号发起网页授权 获取用户信息
1、获取code
2、通过授权回调地址的code获取用户access_token和open_id
3、通过access_token和open_id 获取用户基本信息
class wx_user
{
public static function getUserAccessToken($code, $app_id )
{
$component_appid = \Yii::$app->params['app_id'];
$component_access_token = wx_auth::getComponentAccessToken();
$url = 'https://api.weixin.qq.com/sns/oauth2/component/access_token?appid='.$app_id.'&code='.$code.'&grant_type=authorization_code&component_appid='.$component_appid.'&component_access_token='.$component_access_token;
return wx_tools::getCurl($url); }
// 刷新account_token // 通过网页授权access_token获取用户基本信息 public static function getUserInfo($access_token, $openid)
{ $url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';
return wx_tools::getCurl($url);
}
}
action请求
/**
*用户授权
* @return \yii\web\Response
*/
public function actionAuthUser()
{
$request = \Yii::$app->request;
$app_id =\Yii::$app->params['hywx_test']['app_id'];
$redirect_uri = \Yii::$app->request->hostInfo . \Yii::$app->request->scriptUrl . '/wx-auth/user-redirect';
$component_appid = \Yii::$app->params['app_id'];
$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' . $app_id . '&redirect_uri=' . $redirect_uri . '&response_type=code&scope=snsapi_base&state=STATE&component_appid=' . $component_appid . '#wechat_redirect';
return $this->redirect($url);
} /**
* 用户授权回调地址
*/
public function actionUserRedirect()
{
$request = \Yii::$app->request;
$code = $request->get('code');
$state = explode(',', $request->get('state'));
$league_id = $state[0];
$type = $state[1];
$app_id = $request->get('appid');
$res = json_decode(wx_user::getUserAccessToken($code, $app_id));
$userInfo = wx_user::getUserInfo($res->access_token, $res->openid);
$item = json_decode($userInfo);
}
PHP 微信三方平台代公众号发起网页授权 获取用户信息的更多相关文章
- 微信第三方平台代公众号发起网页授权 48001 api unauthorized 问题
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&gr ...
- 微信支持的Authorization code授权模式(公众号开发)(开放平台资料中心中的代公众号发起网页授权)
链接:https://blog.csdn.net/ASZJBGD/article/details/82838356 主要流程分为两步: 1.获取code 2.通过code换取accesstoken 流 ...
- 微信 公众号 小程序 授权 unionid 用户信息 实验总结
-*-*-*-*-*-*-*-*-*--*-*-*-1.小程序通过code获取用户openid的接口,如果用户曾经授权并未过期,或者用户关注过同主体的公众号,会带回unionID,但没有用户头像等信息 ...
- 微信公众号订阅号以及服务号通过网页授权获取用户openid方法
微信官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842 官方流程 网页授权流程分为四步: 1.引导用户 ...
- 微信 OAuth2 网页授权获取用户信息
文档:http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html !!! 微信跟用户没有关系类接口采用了OAUTH2 [ ...
- php微信网页授权获取用户信息
配置回调域名: 1. 引导用户进入授权页面同意授权,获取code 2. 通过code换取网页授权access_token(与基础支持中的access_token不同) 3. 如果需要,开发者可以刷新网 ...
- 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息
第一部分:微信授权获取基本信息的介绍 我们首先来看看官方的文档怎么说: 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域 ...
- 微信公众平台开发实战Java版之如何网页授权获取用户基本信息
第一部分:微信授权获取基本信息的介绍 我们首先来看看官方的文档怎么说: 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域 ...
- 【微信公众号开发】【8】网页授权获取用户基本信息(OAuth 2.0)
前言: 1,在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名. 请注意,这 ...
- C#微信公众号开发--网页授权(oauth2.0)获取用户基本信息二
前言 这一篇实现snsapi_userinfo,写这篇时其实我是有疑惑的,因为我并没有调试成功,但是我反复检查程序和思路是没有问题的,因为我使用的测试公众号,群里一个伙计说他之前调试时用的也是测试公众 ...
随机推荐
- layui相关问题总结
1.layui table回显选中 1) radio: done:function(res, curr, count){ for(var i = 0; i < res.data.length; ...
- 2月26日Android开发学习
1.App运行日志 Android采用Log工具打印日志,他讲各类日志划分为五个等级 (1)Log.e:表示错误信息,比如可能导致程序崩溃的异常. (2)Log.w:表示警告信息. (3)Log.i: ...
- ant design upload组件的beforeUpload阻止默认上传行为
const onImportExcel = (file) => { return new Promise(async (resolve, reject) => { ... //要执行的语句 ...
- CSS 语法-熟悉样式规则
CSS 规则: CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. 样式规则: 以内嵌式样式表为例: (1)所有的css代码都必须书写在<head>标签内部的一对<sty ...
- Spring Boot中的JSON技术
Spring Boot中的JSON技术 平日里在项目中处理JSON一般用的都是阿里巴巴的Fastjson,后来发现使用Spring Boot内置的Jackson来完成JSON的序列化和反序列化操作也挺 ...
- 3vue
阻止冒泡 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...
- RSA模数N因式分解
模数N: 76190944763750744276324637081713604133996627079343036558766297773626553110133339218840357338899 ...
- ybtoj 12F
求值的话改为求解前缀和的值,通过两个前缀和相减即可得到每个值. 每次询问相当于给一个方程. 一共有 $n$ 个未知数,因此需要 $n$ 个方程,同时每个数都必须至少在方程中出现一次. 最小生成树求解即 ...
- NOIP2014普及组
T2]比例简化 其实比较简单,主要是比较的方法以前没看过吧 要学会知识迁移啊! #include<iostream> #include<cstring> #include< ...
- 与用户交互 Scanner
与用户交互 Scanner Scanner对象 Java提供了一个工具类,可以用以获取用户的输入.java.util.Scanner 是Java5的新特征 基本语法 Scanner s = new S ...