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

WBOY
Freigeben: 2016-07-28 08:27:40
Original
1400 Leute haben es durchsucht

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教程有兴趣的朋友有所帮助。

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage