国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) 後端開(kāi)發(fā) php教程 微信OAuth2.0網(wǎng)頁(yè)受權(quán)php示例

微信OAuth2.0網(wǎng)頁(yè)受權(quán)php示例

Jun 13, 2016 pm 12:30 PM
curl token

微信OAuth2.0網(wǎng)頁(yè)授權(quán)php示例

1、配置授權(quán)回調(diào)頁(yè)面域名,如 www.aaa.com

?

2、模擬公眾號(hào)的第三方網(wǎng)頁(yè),fn_system.php

<?php

if(empty($_SESSION['user'])){
	
	header("Location:http://www.aaa.net/uc/fn_wx_login.php");
}else{
	print_r($_SESSION['user']);
}

?>

?

3、訪問(wèn)第三方網(wǎng)頁(yè)時(shí),如果檢查session中不存在會(huì)話信息,則跳轉(zhuǎn)至登陸頁(yè),fn_wx_login.php

<?php

	$appid = "公眾號(hào)在微信的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、在登陸頁(yè)組裝appid,回跳url等信息,然后跳轉(zhuǎn)至微信的用戶授權(quán)頁(yè)。

?

5、在微信的用戶授權(quán)頁(yè),如果用戶選擇了“同意授權(quán)”,則微信重新回跳至第三方網(wǎng)頁(yè)的回跳地址時(shí),會(huì)附帶上code參數(shù)。

?

6、第三方網(wǎng)頁(yè)的回跳url中,首先從請(qǐng)求中取得code,然后根據(jù)code進(jìn)一步換取openid和access_token,然后就可以根據(jù)openid和access_token調(diào)用微信的相關(guān)接口查詢用戶信息了。

<?php

$appid = "公眾號(hào)在微信的appid";
$secret = "公眾號(hào)在微信的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);

//根據(jù)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);

?>

?

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話題

登入token無(wú)效怎麼辦 登入token無(wú)效怎麼辦 Sep 14, 2023 am 11:33 AM

登入token無(wú)效的解決辦法有檢查T(mén)oken是否過(guò)期、檢查T(mén)oken是否正確、檢查T(mén)oken是否被篡改、檢查T(mén)oken是否與使用者匹配、清除快取或Cookie、檢查網(wǎng)路連線和伺服器狀態(tài)、重新登入或請(qǐng)求新的Token、聯(lián)絡(luò)技術(shù)支援或開(kāi)發(fā)人員等。詳細(xì)介紹:1、檢查T(mén)oken是否過(guò)期,登入Token通常會(huì)設(shè)定有效期,一旦超過(guò)有效期,就會(huì)被認(rèn)為無(wú)效等等。

登入token無(wú)效問(wèn)題如何解決 登入token無(wú)效問(wèn)題如何解決 Sep 14, 2023 am 10:57 AM

登入token無(wú)效問(wèn)題可以透過(guò)檢查網(wǎng)路連線、檢查token有效期、清除快取和Cookie、檢查登入狀態(tài)、聯(lián)絡(luò)應(yīng)用程式開(kāi)發(fā)者和加強(qiáng)帳號(hào)安全來(lái)解決。詳細(xì)介紹:1、檢查網(wǎng)路連接,重新連接網(wǎng)路或更換網(wǎng)路環(huán)境;2、檢查token有效期,重新取得一個(gè)新的token,或聯(lián)絡(luò)應(yīng)用程式的開(kāi)發(fā)者;3、清除快取和Cookie,清除瀏覽器快取和Cookie,然後重新登入應(yīng)用程式;4、檢查登入狀態(tài)。

python中CURL和python?requests的相互轉(zhuǎn)換如何實(shí)現(xiàn) python中CURL和python?requests的相互轉(zhuǎn)換如何實(shí)現(xiàn) May 03, 2023 pm 12:49 PM

curl和Pythonrequests都是發(fā)送HTTP請(qǐng)求的強(qiáng)大工具。雖然curl是一種命令列工具,可讓您直接從終端機(jī)發(fā)送請(qǐng)求,但Python的請(qǐng)求庫(kù)提供了一種更具程式化的方式來(lái)從Python程式碼發(fā)送請(qǐng)求。將curl轉(zhuǎn)換為Pythonrequestscurl指令的基本語(yǔ)法如下所示:curl[OPTIONS]URL將curl指令轉(zhuǎn)換為Python請(qǐng)求時(shí),我們需要將選項(xiàng)和URL轉(zhuǎn)換為Python程式碼。這是一個(gè)範(fàn)例curlPOST指令:curl-XPOSThttps://example.com/api

Linux下更新curl版本教程! Linux下更新curl版本教程! Mar 07, 2024 am 08:30 AM

在Linux下更新curl版本,您可以按照以下步驟進(jìn)行操作:檢查目前curl版本:首先,您需要確定目前系統(tǒng)中安裝的curl版本。開(kāi)啟終端,並執(zhí)行以下指令:curl--version該指令將顯示目前curl的版本資訊。確認(rèn)可用的curl版本:在更新curl之前,您需要確定可用的最新版本。您可以造訪curl的官方網(wǎng)站(curl.haxx.se)或相關(guān)的軟體來(lái)源,尋找最新版本的curl。下載curl原始碼:使用curl或?yàn)g覽器,下載您選擇的curl版本的原始碼檔案(通常為.tar.gz或.tar.bz2

PHP8.1發(fā)布:引入curl多個(gè)請(qǐng)求並發(fā)處理 PHP8.1發(fā)布:引入curl多個(gè)請(qǐng)求並發(fā)處理 Jul 08, 2023 pm 09:13 PM

PHP8.1發(fā)布:引入curl多個(gè)請(qǐng)求並發(fā)處理近日,PHP官方發(fā)布了最新版本的PHP8.1,其中引入了一個(gè)重要的特性:curl多個(gè)請(qǐng)求並發(fā)處理。這個(gè)新功能為開(kāi)發(fā)者提供了一個(gè)更有效率和靈活的方式來(lái)處理多個(gè)HTTP請(qǐng)求,大大提升了效能和使用者體驗(yàn)。在以往的版本中,處理多個(gè)請(qǐng)求往往需要透過(guò)建立多個(gè)curl資源,並使用循環(huán)來(lái)分別發(fā)送和接收資料。這種方式雖然能夠?qū)崿F(xiàn)目

從頭到尾:如何使用php擴(kuò)充cURL進(jìn)行HTTP請(qǐng)求 從頭到尾:如何使用php擴(kuò)充cURL進(jìn)行HTTP請(qǐng)求 Jul 29, 2023 pm 05:07 PM

從頭到尾:如何使用php擴(kuò)充cURL進(jìn)行HTTP請(qǐng)求引言:在Web開(kāi)發(fā)中,經(jīng)常需要與第三方API或其他遠(yuǎn)端伺服器進(jìn)行通訊。而使用cURL進(jìn)行HTTP請(qǐng)求是一種常見(jiàn)且強(qiáng)大的方式。本文將介紹如何使用php擴(kuò)充cURL來(lái)執(zhí)行HTTP請(qǐng)求,並提供一些實(shí)用的程式碼範(fàn)例。一、準(zhǔn)備工作首先,請(qǐng)確保php已安裝cURL擴(kuò)充??梢栽诿盍袌?zhí)行php-m|grepcurl查

PHP Curl中如何處理網(wǎng)頁(yè)的 301 重定向? PHP Curl中如何處理網(wǎng)頁(yè)的 301 重定向? Mar 08, 2024 am 11:36 AM

PHPCurl中如何處理網(wǎng)頁(yè)的301重定向?使用PHPCurl發(fā)送網(wǎng)路請(qǐng)求時(shí),常會(huì)遇到網(wǎng)頁(yè)回傳的301狀態(tài)碼,表示頁(yè)面被永久重定向。為了正確處理這種情況,我們需要在Curl請(qǐng)求中加入一些特定的選項(xiàng)和處理邏輯。以下將詳細(xì)介紹在PHPCurl中如何處理網(wǎng)頁(yè)的301重定向,並提供具體的程式碼範(fàn)例。 301重定向處理原理301重定向是指伺服器回傳了一個(gè)30

Redis儲(chǔ)存用戶token問(wèn)題怎麼解決 Redis儲(chǔ)存用戶token問(wèn)題怎麼解決 May 31, 2023 am 08:06 AM

Redis儲(chǔ)存使用者token在設(shè)計(jì)類似電商的系統(tǒng)時(shí),一個(gè)常見(jiàn)的需求是每個(gè)頁(yè)面都需要攜帶登入使用者資訊。常見(jiàn)的解決方法有兩種:使用cookie保存使用JWT保存但如果系統(tǒng)中使用了Redis緩存,那麼還可以有第三種解決方案–將用戶token緩存在Redis中。登陸時(shí)產(chǎn)生一個(gè)token存入Redis//產(chǎn)生一個(gè)token物件,保存在redis中redisTemplate.opsForHash().put("token","user",user)

See all articles