微信oauth2授权获得用户信息

<?php

session_start();

header("Content-type: text/html; charset=utf-8");

$home = ‘index.php‘;

class db{

private $host;

private $user;

private $pass;

private $database;

private $charset;

function __construct($host,$user,$pass,$database,$charset){

$this->host=$host;

$this->user=$user;

$this->pass=$pass;

$this->database=$database;

$this->charset=$charset;

$this->connect();

}

function connect(){

mysql_connect($this->host,$this->user,$this->pass) or die ("连接数据库服务器失败!");

mysql_select_db($this->database) or die ("连接数据库失败!");

mysql_query("set names $this->charset");

}

function select($sql){

$select=mysql_query($sql);

$rows = ‘‘;

while($row = mysql_fetch_array($select, MYSQL_ASSOC)) {

$rows[] = $row;

}

return $rows;

}

function insert($tab,$col,$value){

mysql_query("INSERT INTO $tab($col)values($value)");

return mysql_insert_id();

}

function update($tab,$col,$new_value,$colm,$value){

mysql_query("UPDATE $tab SET $col=$new_value where $colm=$value");

}

function delete($tab,$col,$value){

mysql_query("DELETE FROM $tab where $col=$value");

}

function close(){

mysql_close();

}

}

$db = new db(‘127.0.0.1‘,‘root‘,‘lizhifeng‘,‘jinba‘,‘utf8‘);

//通过oauth2授权获取用户详细信息

//$url = ‘https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx954b290311defa52&redirect_uri=http://jinba2.emailcar.net&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect‘;

if(!$_SESSION[‘userid‘]){

if (isset($_GET[‘code‘])){

$code = $_GET[‘code‘];

$url = ‘https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx954b290311defa52&secret=299a1a9ba0db6d1b09266842de62079c&code=‘.$code.‘&grant_type=authorization_code‘;

$json = file_get_contents($url);

$arr = json_decode($json,true);

$token = $arr[‘access_token‘];

$openid = $arr[‘openid‘];

$url = ‘https://api.weixin.qq.com/sns/userinfo?access_token=‘.$token.‘&openid=‘.$openid.‘&lang=zh_CN‘;

$json = file_get_contents($url);

$arr = json_decode($json,true);

$name = $arr[‘nickname‘];

$imgURL = $arr[‘headimgurl‘];

$sex = $arr[‘sex‘];

$province = $arr[‘province‘];

$city= $arr[‘city‘];

$country= $arr[‘country‘];

$result = $db->select(‘select * from member where openid = "‘.$openid.‘"‘);

if($result){

$userid = $result[0][‘id‘];

$_SESSION[‘userid‘] = $userid;

}else{

if($openid){

$userid = $db->insert(‘member‘,‘openid,nickname,headimgurl,sex,city,country,province,create_time‘,‘"‘.$openid.‘","‘.$name.‘","‘.$imgURL.‘","‘.$sex.‘","‘.$city.‘","‘.$country.‘","‘.$province.‘","‘.time().‘"‘);

$_SESSION[‘userid‘] = $userid;

}else{

header("Location: $url");

}

}

}else{

header("Location: $url");

}

}

$userid = $userid?$userid:$_SESSION[‘userid‘];

来自为知笔记(Wiz)

时间: 2024-12-08 14:43:31

微信oauth2授权获得用户信息的相关文章

微信网页授权-获取用户信息

第一步:修改网页授权安全域名,什么叫安全域名?安全域名就是说只有这个域名的网页才可以安全的进行网页授权以及获取用户信息. 第二步:下载下这个 MP_verify_Sb2ASLINFP09cMn6.txt(点击下载)放到你的服务器根目录下,可以通过你上面配置的域名直接访问的到,即:http://www.zheyue.me/MP_verify_Sb2ASLINFP09cMn6.txt  可以访问的到.点击确认完成. 第三步: 对自己做的网页地址进行包装,引导客户点击新包装的地址即可.例: https

php微信网页授权获取用户信息

配置回调域名: 1. 引导用户进入授权页面同意授权,获取code 2. 通过code换取网页授权access_token(与基础支持中的access_token不同) 3. 如果需要,开发者可以刷新网页授权access_token,避免过期 4. 通过网页授权access_token和openid获取用户基本信息 先自己建立两个文件: index.php  和  getUser.php 代码实例 index.php如下: 1 <?php 2 $appid = "公众号的appid"

微信网页授权获取用户信息

1 class class_weixin 2 { 3 var $appid = APPID; 4 var $appsecret = APPSECRET; 5 6 //构造函数,获取Access Token 7 public function __construct($appid = NULL, $appsecret = NULL) 8 { 9 if($appid && $appsecret){ 10 $this->appid = $appid; 11 $this->appsec

微信网页授权获取用户信息等机制

参考官方文档 https://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html 1.用户进入授权界面(APP?WeChat) 引导用户打开链接: https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=S

微信小程序获取用户信息及手机号 进行微信登录

一.wxml页面 <view wx:if="{{config.tipsshow1}}" class='dialog-container'> <view class='dialog-mask'></view> <view class='dialog-info'> <view class='dialog-title'>login prompt</view> <view class='dialog-content'

微信小程序-获取用户信息和openid,session_key,

1:微信小程序获取用户信息:比如常用的 avatarUrl (用户头像),nickName (用户名称) 等等, (1):获取用户信息调用 wx.getUserInfo 代码如下: 直接请求接口就可以了,随后把数据存放到storage中,下次直接取 就不用再请求接口,, 2:获取 openid (1):请求wx.login 接口,代码如下: url:是微信提供的 appid:是小程序的appid secret:是小程序开发设置的 AppSecret 只要获取到这两项,用户信息可以用于页面,ope

微信OAuth2网页授权获取用户信息

文档:http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html !!! 微信跟用户没有关系类接口采用了OAUTH2 [客户端模式(Client Credentials Grant)],而跟用户有关系的接口,采用OAuth2.0服务端[授权码模式(Authorization Code)]来获得用户的openid:另外需要注意的一点就是需要在开发者中心页配置授权回调域名,域名必须与设置的域名在同一个域下. 网页授权ac

微信 oauth授权 获取用户的信息

应用场景 (1)点击菜单直接链接跳转,这样直接跳是获取不到用户的openid的,需要用到这个 (2)获取用户的一些基本信息,头像,呢称,需要用到这个 准备 需要在公众号里面配置一个应用域名,不配置这个的话,跳转后就是空白页面 步骤 (一) //$callback="一个回调的网址比如http://www.baidu.com/auth.php"; $param ['redirect_uri'] = $callback . '&getOpenId=1';//&getOpen

微信网页授权获取用户基本信息

微信公众号可以通过微信网页授权机制,来获取用户基本信息,可以用于微信登录功能 关于网页授权的两种scope的区别说明 1.静默授权:以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的.用户感知的就是直接进入了回调页(往往是业务页面) 2.显示授权:以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的.但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的