1. 程式人生 > >微信網頁授權登入

微信網頁授權登入

user_info模式授權

新建index.php

<?php
$appid='你的Appid';
$redirect_uri=urlencode('http://act.eastjinfu.com/getOpenid.php');
$scope='snsapi_userinfo';//獲取的方式;
$url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=".$scope."&state=1&connect_redirect=1#wechat_redirect";
header("Location:".$url);

新建getOpenid.php

<?php
//獲取使用者openid
$appid="你的APPID";
$appsecret="你的APPsecret";
$code=$_GET['code'];

    $url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code";
        $token = json_decode(file_get_contents($url));
$openid= $token->openid;
$access_token = $token->access_token;
    
$get_user_info_url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token."&openid=".$openid."&lang=zh\_CN";
$userinfo = json_decode(file_get_contents($get_user_info_url));
print_r($userinfo);



user_base模式  並判斷是否關注了公眾號

新建index.php

<?php
$appid = "你的APPID";
$appsecret="你的APPsecret";
$redirect_uri=urlencode('http://act.eastjinfu.com/getOpenid.php');
$url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_base&state=123#wechat_redirect";
header("Location:".$url);

新建getOpenid.php

<?php
//獲取使用者openid
$appid="你的APPID";
$appsecret="你的APPsecret";
$code=$_GET['code'];
$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code";
$token = json_decode(file_get_contents($url));
//獲取access_token   由於微信網頁授權的access_token和基本的access_token不一樣  此處獲取的是基本的access_token
$url_access_token ="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;
$access_token = json_decode(file_get_contents($url_access_token));
$user_url="https://api.weixin.qq.com/cgi-bin/user/info?access_token=".$access_token->access_token."&openid=".$token->openid."&lang=zh_CN";
$user = json_decode(file_get_contents($user_url));
print_r($user);