91麻豆精品国产91久久久久久,成人免费无遮挡无码黄漫视频,中文字幕一区二区人妻,适合晚上观看的电影,四虎在线观看

我們的使命

助力跨境賣家高效建立全球銷售網(wǎng)絡(luò)

喜報2021年我司獲《江蘇省國家高新技術(shù)企業(yè)》認(rèn)定

分類目錄

文章標(biāo)簽

熱門推薦

相關(guān)咨訊

opencart綁定域名,magento微信登錄

2022-11-07 16:42:42 - 米境通跨境電商

   

    之前做過兩次網(wǎng)頁請求微信授權(quán)登陸,后來轉(zhuǎn)到magento上面,主做國外的電商系統(tǒng),導(dǎo)致這些開發(fā)經(jīng)驗(yàn)都生疏了。為了后期在遇到同樣問題的時候能夠快速的找到解決方案,所以專門做個筆記,記錄下來。

    首先微信授權(quán)登陸和其他的qq授權(quán)登陸、微博授權(quán)登陸都是采用的OAUTH2.0機(jī)制,大體的邏輯原理和步驟都很類似。具體的分為三步,

    1、根據(jù)APPID和回調(diào)地址等參數(shù)拼裝請求的url,比較重要的就是appid,這個是在微信開放平臺里面申請的網(wǎng)頁應(yīng)用,需要提交資質(zhì)認(rèn)證等。另外就是回調(diào)地址,這個必須和微信開放平臺后臺填寫的授權(quán)域相同,不然則會提示錯誤,無法請求。

    publicfunctionwxlogin(){

    $AppID=C('WechatConfig')['AppID'];

    $AppSecret=C('WechatConfig')['AppSecret'];

    $callback="http://".$_SERVER['HTTP_HOST'].U("User/auth");

    $code=I('get.code');

    $state=md5(uniqid(rand(),TRUE)).$code;

    $_SESSION["wx_state"]=$state;//存到SESSION

    $callback=urlencode($callback);

    $wxurl="https://open.weixin.qq.com/connect/qrconnect?appid=".$AppID."&redirect_uri={$callback}&response_type=code&scope=snsapi_login&state={$state}¶m=abc#wechat_redirect";

    header("Location:$wxurl");

    }

    other|微信網(wǎng)頁授權(quán)登陸開發(fā)示例

    PS:值得一提的是,在微信開放后臺的應(yīng)用里面修改授權(quán)域,此授權(quán)域可以為本地測試的域名,不用非得

    2、如果參數(shù)全都正確,就進(jìn)入到掃描界面,等使用微信掃描確認(rèn)之后,即可獲取到一個code,有效期五分鐘,然后可以使用此code去獲取access_token和用戶的openid以及unionid等信息,具體的方法可以參照下面代碼:

    publicfunctiongetToken($code){

    $AppID=C('WechatConfig')['AppID'];

    $AppSecret=C('WechatConfig')['AppSecret'];

    $url='https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$AppID.'&secret='.$AppSecret.'&code='.$code.'&grant_type=authorization_code';

    $ch=curl_init();

    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);

    curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);

    curl_setopt($ch,CURLOPT_URL,$url);

    $json=curl_exec($ch);

    curl_close($ch);

    $arr=json_decode($json,1);

    if($arr['errcode']!=''){

    return'';

    }else{

    session('access_token',$arr['access_token']);

    session('openid',$arr['openid']);

    return$arr;

    }

    }

    publicfunctiongetUserInfo($token,$openid){

    $url='https://api.weixin.qq.com/sns/userinfo?access_token='.$token.'&openid='.$openid.'&lang=zh_CN';

    $ch=curl_init();

    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);

    curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);

    curl_setopt($ch,CURLOPT_URL,$url);

    $json=curl_exec($ch);

    curl_close($ch);

    $userinfo=json_decode($json,1);

    if($userinfo['errcode']!=''){

    return'';

    }else{

    return$userinfo;

    }

    }

    3、最后特別說明一下,access_token有效期兩個小時。然后需要先獲取access_token,然后才能用該數(shù)據(jù)去獲取用戶的信息。另外還有一種情況,就是在pc端使用此方法沒問題,但是如果是在微信客戶端下,依舊是掃碼界面,那就尷尬了。不過有一個客戶的網(wǎng)站在pc端自動展示掃碼界面,在微信客戶端則自動提示公眾號授權(quán)的界面,這個是配置方面的問題還是開發(fā)方面的具體還不清楚,略坑。最后為了以后的方便使用,封裝一個第三方登陸的類,需要的直接引用即可。
    聯(lián)系我們
  • 24H客服
  • 聯(lián)系電話:16651690460(龍經(jīng)理)
  • 微信咨詢:
南京天遙路聯(lián)網(wǎng)絡(luò)科技有限公司,版權(quán)所有 Copyright By ?米境通ERP4.0,2015-2025,蘇ICP備:蘇ICP備15044100號-4, 蘇公網(wǎng)安備:32011402011043