Heim Backend-Entwicklung PHP-Tutorial 微信公众平台OAuth20网页授权php示例

微信公众平台OAuth20网页授权php示例

Jul 28, 2016 am 08:27 AM
curl nbsp quot token

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

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

Php代码   微信公众平台OAuth20网页授权php示例

  1.   
  2. if(emptyempty($_SESSION['user'])){  
  3.       
  4.     header("Location:http://www.aaa.com/uc/fn_wx_login.php");  
  5. }else{  
  6.     print_r($_SESSION['user']);  
  7. }  
  8.   
  9. ?>  

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

Php代码   微信公众平台OAuth20网页授权php示例

  1.   
  2.     $appid = "公众号在微信的appid";  
  3.     $url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri=http%3a%2f%2fwww.aaa.com%2fuc%2ffn_callback.php&resp/span>;  
  4.     header("Location:".$url);  
  5.   
  6. ?>  

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

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

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

Php代码   微信公众平台OAuth20网页授权php示例

  1.   
  2. $appid = "公众号在微信的appid";  
  3. $secret = "公众号在微信的app secret";  
  4. $code = $_GET["code"];  
  5. $get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';  
  6.   
  7. $ch = curl_init();  
  8. curl_setopt($ch,CURLOPT_URL,$get_token_url);  
  9. curl_setopt($ch,CURLOPT_HEADER,0);  
  10. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );  
  11. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);  
  12. $res = curl_exec($ch);  
  13. curl_close($ch);  
  14. $json_obj = json_decode($res,true);  
  15.   
  16. //根据openid和access_token查询用户信息  
  17. $access_token = $json_obj['access_token'];  
  18. $openid = $json_obj['openid'];  
  19. $get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';  
  20.   
  21. $ch = curl_init();  
  22. curl_setopt($ch,CURLOPT_URL,$get_user_info_url);  
  23. curl_setopt($ch,CURLOPT_HEADER,0);  
  24. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );  
  25. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);  
  26. $res = curl_exec($ch);  
  27. curl_close($ch);  
  28.   
  29. //解析json  
  30. $user_obj = json_decode($res,true);  
  31. $_SESSION['user'] = $user_obj;  
  32. print_r($user_obj);  
  33.   
  34. ?> 

以上就介绍了 微信公众平台OAuth20网页授权php示例,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Lösung: Ihre Organisation verlangt von Ihnen, dass Sie Ihre PIN ändern Lösung: Ihre Organisation verlangt von Ihnen, dass Sie Ihre PIN ändern Oct 04, 2023 pm 05:45 PM

Lösung: Ihre Organisation verlangt von Ihnen, dass Sie Ihre PIN ändern

So passen Sie die Fensterrahmeneinstellungen unter Windows 11 an: Farbe und Größe ändern So passen Sie die Fensterrahmeneinstellungen unter Windows 11 an: Farbe und Größe ändern Sep 22, 2023 am 11:37 AM

So passen Sie die Fensterrahmeneinstellungen unter Windows 11 an: Farbe und Größe ändern

Wie ändere ich die Farbe der Titelleiste unter Windows 11? Wie ändere ich die Farbe der Titelleiste unter Windows 11? Sep 14, 2023 pm 03:33 PM

Wie ändere ich die Farbe der Titelleiste unter Windows 11?

OOBELANGUAGE-Fehlerprobleme bei der Reparatur von Windows 11/10 OOBELANGUAGE-Fehlerprobleme bei der Reparatur von Windows 11/10 Jul 16, 2023 pm 03:29 PM

OOBELANGUAGE-Fehlerprobleme bei der Reparatur von Windows 11/10

So aktivieren oder deaktivieren Sie die Vorschau von Miniaturansichten in der Taskleiste unter Windows 11 So aktivieren oder deaktivieren Sie die Vorschau von Miniaturansichten in der Taskleiste unter Windows 11 Sep 15, 2023 pm 03:57 PM

So aktivieren oder deaktivieren Sie die Vorschau von Miniaturansichten in der Taskleiste unter Windows 11

Anleitung zur Anzeigeskalierung unter Windows 11 Anleitung zur Anzeigeskalierung unter Windows 11 Sep 19, 2023 pm 06:45 PM

Anleitung zur Anzeigeskalierung unter Windows 11

10 Möglichkeiten, die Helligkeit unter Windows 11 anzupassen 10 Möglichkeiten, die Helligkeit unter Windows 11 anzupassen Dec 18, 2023 pm 02:21 PM

10 Möglichkeiten, die Helligkeit unter Windows 11 anzupassen

So realisieren Sie die gegenseitige Konvertierung zwischen CURL- und Python-Anfragen in Python So realisieren Sie die gegenseitige Konvertierung zwischen CURL- und Python-Anfragen in Python May 03, 2023 pm 12:49 PM

So realisieren Sie die gegenseitige Konvertierung zwischen CURL- und Python-Anfragen in Python

See all articles