首页 课程中心 读书 公众号框架 HUI H.JS 开放源 登录 & 注册
 微信网页授权

微信网页授权说明
如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。

关于网页授权回调域名的说明

1、在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头; 

2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以进行OAuth2.0鉴权。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com无法进行OAuth2.0鉴权 

实现步骤

1、判断用户是否登录 -> 跳转到微信授权页面 -> 用户同意授权返回开发者页面
示例代码

<?php
session_start();
include '../hcWeChat/hcWeChat.php';
$hcWeChat = new hcWeChat();
//检查是否登录,未登录跳转到登录界面
if(empty($_SESSION['openid'])){
    //微信登录
    $backUrl = 'http://wx.hcoder.net/demo/wxlogin.php';
    $hcWeChat->wxLogin($backUrl);
}


2、开发者页面接收到授权数据 “code“ ,利用code获取openid

<?php
session_start();
if(empty($_SESSION['state']) || $_SESSION['state'] != $_GET['state']){exit('登录数据错误');}
if(empty($_GET['code'])){exit('登录数据错误');}
include '../hcWeChat/hcWeChat.php';
$hcWeChat = new hcWeChat();
$hcWeChat->wxLoginBack();
header('location:./my.php');


3、利用openid获取用户信息完成登录

<?php
session_start();
include '../hcWeChat/hcWeChat.php';
$hcWeChat = new hcWeChat();
//检查是否登录,未登录跳转到登录界面
if(empty($_SESSION['openid'])){
    //微信登录
    $backUrl = 'http://wx.hcoder.net/demo/wxlogin.php';
    $hcWeChat->wxLogin($backUrl);
}
//获取用户信息
$user = $hcWeChat->getUser($_SESSION['openid']);