ホームページ > バックエンド開発 > PHPチュートリアル > 微信OAuth2.0网页受权php示例

微信OAuth2.0网页受权php示例

WBOY
リリース: 2016-06-13 11:45:06
オリジナル
998 人が閲覧しました

微信OAuth2.0网页授权php示例

1、配置授权回调页面域名,如 www.aaa.com

?

2、模拟公众号的第三方网页,fn_system.php

<?phpif(empty($_SESSION['user'])){		header("Location:http://www.aaa.net/uc/fn_wx_login.php");}else{	print_r($_SESSION['user']);}?>
ログイン後にコピー

?

3、访问第三方网页时,如果检查session中不存在会话信息,则跳转至登陆页,fn_wx_login.php

<?php	$appid = "公众号在微信的appid";	$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri=http%3a%2f%2fwww.aaa.com%2fuc%2ffn_callback.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect';	header("Location:".$url);?>
ログイン後にコピー

?

4、在登陆页组装appid,回跳url等信息,然后跳转至微信的用户授权页。

?

5、在微信的用户授权页,如果用户选择了“同意授权”,则微信重新回跳至第三方网页的回跳地址时,会附带上code参数。

?

6、第三方网页的回跳url中,首先从请求中取得code,然后根据code进一步换取openid和access_token,然后就可以根据openid和access_token调用微信的相关接口查询用户信息了。

<?php$appid = "公众号在微信的appid";$secret = "公众号在微信的app secret";$code = $_GET["code"];$get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';$ch = curl_init();curl_setopt($ch,CURLOPT_URL,$get_token_url);curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);$res = curl_exec($ch);curl_close($ch);$json_obj = json_decode($res,true);//根据openid和access_token查询用户信息$access_token = $json_obj['access_token'];$openid = $json_obj['openid'];$get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';$ch = curl_init();curl_setopt($ch,CURLOPT_URL,$get_user_info_url);curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);$res = curl_exec($ch);curl_close($ch);//解析json$user_obj = json_decode($res,true);$_SESSION['user'] = $user_obj;print_r($user_obj);?>
ログイン後にコピー

?

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート