Home >php教程 >php手册 >微信公众平台实现微信网页登陆授权开发

微信公众平台实现微信网页登陆授权开发

WBOY
WBOYOriginal
2016-05-26 08:19:371145browse

微信公众平台实现微信网页登陆授权开发其实是非常的简单了,因为官方的参考程序了,下面小编就看了一站长根据官方参考做的一个网页登陆授权例子,大家可看看.

文件1:index.php

//换成自己的接口信息 

$appid = 'XXXXX'; 
header('location:https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri=127.0.0.1/oauth.php&response_type=code&scope=snsapi_userinfo&state=123&connect_redirect=1#wechat_redirect');

参数说明:参数是否必须说明

appid 是 公众号的唯一标识

redirect_uri 是 授权后重定向的回调链接地址,请使用urlencode对链接进行处理

response_type 是 返回类型,请填写code

scope 是 应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息)

state 否 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值

#wechat_redirect 是 无论直接打开还是做页面302重定向时候,必须带此参数

文件二:oauth.php,代码如下:

<?php 
$code = $_GET[&#39;code&#39;]; 
$state = $_GET[&#39;state&#39;]; 
//换成自己的接口信息 
$appid = &#39;XXXXX&#39;; 
$appsecret = &#39;XXXXX&#39;; 
if (emptyempty($code)) $this->error(&#39;授权失败&#39;); 
$token_url = &#39;https://api.weixin.qq.com/sns/oauth2/access_token?appid=&#39;.$appid.&#39;&secret=&#39;.$appsecret.&#39;&code=&#39;.$code.&#39;&grant_type=authorization_code&#39;; 
$token = json_decode(file_get_contents($token_url)); 
if (isset($token->errcode)) { 
   echo &#39;<h1>错误:</h1>&#39;.$token->errcode; 
   echo &#39;<br/><h2>错误信息:</h2>&#39;.$token->errmsg; 
   exit; 
} 
$access_token_url = &#39;https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=&#39;.$appid.&#39;&grant_type=refresh_token&refresh_token=&#39;.$token->refresh_token; 
//转成对象 
$access_token = json_decode(file_get_contents($access_token_url)); 
if (isset($access_token->errcode)) { 
   echo &#39;<h1>错误:</h1>&#39;.$access_token->errcode; 
   echo &#39;<br/><h2>错误信息:</h2>&#39;.$access_token->errmsg; 
   exit; 
} 
$user_info_url = &#39;https://api.weixin.qq.com/sns/userinfo?access_token=&#39;.$access_token->access_token.&#39;&openid=&#39;.$access_token->openid.&#39;&lang=zh_CN&#39;;   
//转成对象 
$user_info = json_decode(file_get_contents($user_info_url)); 
if (isset($user_info->errcode)) { 
   echo &#39;<h1>错误:</h1>&#39;.$user_info->errcode; 
   echo &#39;<br/><h2>错误信息:</h2>&#39;.$user_info->errmsg; 
   exit; 
} 
//打印用户信息 
echo &#39;<pre class="brush:php;toolbar:false">&#39;; 
print_r($user_info); 
echo &#39;
'; ?>

参数 描述

openid 用户的唯一标识

nickname 用户昵称

sex 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知

province 用户个人资料填写的省份

city 普通用户个人资料填写的城市

country 国家,如中国为CN

headimgurl 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空.

privilege 用户特权信息,json 数组,如微信沃卡用户为(chinaunicom)

unionid 只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。详见:获取用户个人信息(UnionID机制)

到此网页登陆授权开发功能就作完了,如果想要获取用户基本信息我们需要看另一个例子,在官方有说明大家可自行搜索哦.


文章地址:

转载随意^^请带上本文地址!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn