微信网页授权接口 微信绑定 微信登录

<?php/** * Created by PhpStorm. * User: yihuaiyuan * Date: 16/9/9 * Time: 下午12:46 */

/** * 网页授权接口的详细步骤总结 */

/** * 准备工作 * * 1.有一台可以访问的服务器,最好能绑定域名,通过域名可以直接访问到 *  我这里是阿里云ecs * * 2.有一个微信公众平台的账号,最好是认证的服务号 *  我这里是微信开发者中心申请的测试账号 * * 3.准备好开发环境, *  我这里是php语言 */

/** * 网页授权接口介绍: * 基本类型和详细类型 * snsapi_base/snsapi_userinfo * 域名必须在微信公共平台上备案 * 网页授权-->修改授权回调网站域名:www.mydomain.com * snsapi_userinfo获取的内容更详细 * * 1)用户同意授权,获取code * 2)通过code获取网页授权access_token * 3)刷新access_token(如果需要) * 4)拉去用户信息(需要scope为snsapi_userinfo) */

/** *  从微信公众号拿到APPID和APPSECERT,然后在接口权限里面,把网页授权接口后面网页修改为我们自己的服务器地址 *  如果是认证的服务号,会有网页授权权限,可以不用去开发者中心申请测试号,直接在接口权限里面找到网页授权接口,点击修改 *  如果公众号未获得网页授权接口,可以再开发者中心申请测试账号,里面接口全开,而且网页地址可以是IP */

/** * * laravel场景 * * vim app/Http/routes.php(路由而已) * Route::get(‘/‘, ‘WeixinController@welcome‘); * * Route::get(‘/login‘, ‘WeixinController@login‘);

 * Route::get(‘/bind‘, ‘WeixinController@bind‘); * * Route::get(‘/getCode‘, ‘WeixinController@getCode‘); * * * vim app/Http/Controllers/WeixinController.php(具体代码) * class WeixinController extends Controller{

//attribute * 从微信公众平台获取appid和appsecertprivate $appid = " apppid ";private $appsecert = " appsecert ";

//indexpublic function welcome(){ * 展示登录或者绑定的跳转refer页面return view(‘weixin.welcome‘);}

//loginpublic function login(){

$appid = $this->appid; * 回调地址,须在公众平台网页授权域名下$redirect_uri = urlencode("http://weixin.domain.com/getCode");

$loginUrl = urlencode("https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_userinfo&state=login#wechat_redirect");

 //生成二维码$loginSrc = "http://b.bshare.cn/barCode?site=weixin&url=".$loginUrl;

return view("weixin.Qrcode",[‘src‘=>$loginSrc]);

}//bindpublic function bind(){$appid = $this->appid;$redirect_uri = urlencode("http://weixin.spaceyun.com/getCode");

$bindUrl = urlencode("https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_userinfo&state=bind#wechat_redirect");

$bindSrc = "http://b.bshare.cn/barCode?site=weixin&url=".$bindUrl;

return view("weixin.Qrcode",[‘src‘=>$bindSrc]);}

//getCode,获取access_tokenpublic function getCode(){

 * 根据场景state的值判断是绑定还是登录if($_GET[‘state‘] === ‘login‘){$this->loginWeixin($_GET[‘code‘]);}elseif($_GET[‘state‘] === ‘bind‘){$this->bindWeixin($_GET[‘code‘]);}else{dd($_GET[‘state‘]);}}

//loginWeixinprivate function loginWeixin($code){$appid = $this->appid;$appsecert = $this->appsecert;$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecert."&code=".$code."&grant_type=authorization_code";

 * curl模拟get请求$res = $this->http_curl($url);$return_data = json_decode($res, true);$access_token = $return_data[‘access_token‘];$openid = $return_data[‘openid‘];

//需要取数据库查询openid是否存在,如果不存在需要获取用户信息填到数据库,如果存在直接登录获取用户id,如果用户ID小于o,用微信昵称做用户名,如果存在用户ID查询用户信息

 * 获取用户信息$getInfoUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token."&openid=".$openid."&lang=zh_CN";

$userInfo = $this->http_curl($getInfoUrl);

echo "login<br/>";echo "<pre>";var_dump($userInfo);}

//bindWeixinprivate function bindWeixin($code){

$appid = $this->appid;$appsecert = $this->appsecert;

$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecert."&code=".$code."&grant_type=authorization_code";

$res = $this->http_curl($url);

$return_data = json_decode($res, true);$access_token = $return_data[‘access_token‘];$openid = $return_data[‘openid‘];

$getInfoUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token."&openid=".$openid."&lang=zh_CN";

$userInfo = $this->http_curl($getInfoUrl);

echo "bind<br/>";echo "<pre>";var_dump($userInfo);}

private function http_curl($url){$curlobj = curl_init();curl_setopt($curlobj, CURLOPT_URL, $url);curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);curl_setopt($curlobj, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($curlobj, CURLOPT_SSL_VERIFYHOST, FALSE);

$output = curl_exec($curlobj);curl_close($curlobj);

return $output;}} */
时间: 2024-10-25 04:47:59

微信网页授权接口 微信绑定 微信登录的相关文章

微信公众平台,微信网页授权,redirect_uri参数错误,解决方法!

刚才在做微信网页授权的时候,发生一个错误!!!微信网页授权redirect_uri 参数错误! 遇到问题,第一时间应该做的就是查看官网微信公众平台的技术文档. 微信网页授权 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域名的说明 1.在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的"开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息"的配置选项中,修改授权回调域名

微信网页授权登录(公众号)

第一步 先去微信公众平台申请公众号,网址:https://mp.weixin.qq.com/,然后有了公众号申请测试号,拿到appID和appsecret 第二步 申请url和域名 (1) 测试号二维码添加自己的微信号(后期使用微信web开发者工具)可以用自己微信测试,注意 往下拉 :网页服务 --> 网页帐号 --> 网页授权获取用户基本信息 --> 修改   这边也需要把域名填写,和上面的域名一致. 因为微信的授权接口必须是域名不能ip,所有这边没有域名的小伙伴可以使用NATAPP

OAuth2.0微信网页授权登录

功能:用于纪录微信网页授权步骤(前提条件:公众号为服务号,且通过认证) 微信网页授权api说明网址:https://mp.weixin.qq.com/wiki/4/9ac2e7b1f1d22e9e57260f6553822520.html 相关说明:目前微信api有两种方式获取用户信息.第一种是用户管理获取用户基本信息(包括UnionID机制),这个前提是用户必须事先已经关注公众号,通过获取基础access_token和openID来获取用户信息.第二种是以snsapi_userinfo为sco

微信OAuth2.0网页授权接口

微信OAuth2.0网页授权接口 微信OAuth2.0网页授权接口的thinkphp实现版本号.主要实现了oauth网页受权,以及部分其它接口. 用法 为什么用OAuth2.0受权? 通过OAuth2.0受权的网页将会获取到打开者的微信信息.甚至包含微信昵称.头像等实用的数据,开发人员们能够凭此设计出很多其它更丰富的页面应用,比方近期一直非常火爆的红包类活动.除此之外还有个额外的优点,就是能够控制页面在非微信浏览器中无法打开,能够降低代码被人窥窃的风险. 那么红包类活动是怎样使用OAuth2.0

微信网页授权认证获取用户的详细信息,实现自动登陆-微信公众号开发干货

原创声明:本文为本人原创作品,绝非他处转账,转载请联系博主 从接触公众号到现在,开发维护了2个公众号,开发过程中遇到很多问题,现在把部分模块功能在这备案一下,做个总结也希望能给其他人帮助 工欲善其事,必先利其器,先看看开发公众号需要准备或了解什么 web开发工具:官方提供的开发工具,使用自己的微信号来调试微信网页授权.调试.检验页面的 JS-SDK 相关功能与权限,模拟大部分 SDK 的输入和输出.下载地址:web开发工具下载 开发文档:https://mp.weixin.qq.com/wiki

玩玩微信公众号Java版之六:微信网页授权

我们经常会访问一些网站,用微信登录的时候需要用到授权,那么微信网页授权是怎么一回事呢,一起来看看吧! 参考官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842 官方的文档有很详细的说明,这里就主要分析重要的几点: 第一,网页授权分类及说明: 1.以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的.用户感知的就是直接进入了回调页(往往

微信网页授权demo2

1.在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名.请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头: 比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面http://www.qq.com/music.html . http://www.qq.com/login.html 都可以进行OAuth2.0鉴权.

手把手实现微信网页授权和微信支付,附源代码(VUE and thinkPHP)

wechat github 概述 公众号开发是痛苦的,痛苦在好多问题开发者文档是没有提到的,是需要你猜的. 在开发过程中翻了好多的文档,都是说明其中的一部分问题的,很费时间,所以在此总结大体过程.我们模拟的是一个支付的商城,在实现购买过程中基本是把微信公众号最主要模块实现了,其余的功能我们没有涉及,但应该是触类旁通的. 我们叙述的过程是按开发流程进行叙述的,不会是按照开发文档的形式叙述,希望您能结合微信的开发文档一起阅读,当然在流程中我们会提醒你阅读的部分 目录 概述 [解决的问题] [前端技术

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

转自:http://www.cuiyongzhi.com/post/78.html 好长时间没有写文章了,主要是最近的工作和生活上的事情比较多而且繁琐,其实到现在我依然还是感觉有些迷茫,最后还是决定静下心来坚持一开始的选择,继续我们的微信系列文章的后续更新,也希望在自己有时间的时候能把更多的内容呈现给大家,前面一系列的文章讲述了很多微信开发相关的基础知识点 [微信系列文章],那么从这一篇开始将讲述微信较深一层次或者说在产品应用中时刻会用到的一些技术点,那么下面就让我们进入正题吧,这一篇我要讲述的