1. 程式人生 > >微信第三方登錄

微信第三方登錄

openid git reg ade ken clas emoji表情 log user

到這裏https://open.weixin.qq.com,申請成為開發者,然後等著審核通過

通過了,創建網站應用,微信的回調域寫個主域名就可以了,然後等著審核通過

通過了,得到正確的appid和appkey

利用composer安裝 github地址:https://github.com/Yurunsoft/YurunOAuthLogin

composer require yurunsoft/yurun-oauth-login

寫個首頁,點擊跳到login.php

<?php
require dirname(__DIR__) . ‘/vendor/autoload.php‘;
$wxOAuth = new \Yurun\OAuthLogin\Weixin\OAuth2(‘yourapikey‘, ‘yourapisecret‘,‘callback_url‘);

$url = $wxOAuth->getAuthUrl();
$_SESSION[‘YURUN_WEIXIN_STATE‘] = $wxOAuth->state;
header(‘location:‘ . $url);  

回調地址

<?php
require dirname(__DIR__) . ‘/vendor/autoload.php‘;
$wxOAuth = new \Yurun\OAuthLogin\Weixin\OAuth2(‘yourapikey‘, ‘yourapisecret‘,‘callback_url‘);

var_dump(
	‘access_token:‘, $wxOAuth->getAccessToken($_SESSION[‘YURUN_WEIXIN_STATE‘]),
	‘我也是access_token:‘, $wxOAuth->accessToken,
	‘請求返回:‘, $wxOAuth->result
);
var_dump(
	‘用戶資料:‘, $wxOAuth->getUserInfo(),
	‘openid:‘, $wxOAuth->openid
);

會打印出登陸用戶的信息,

拿到用戶的nickname的時候,有很多帶有emoji表情的名字,用了一個方法,過濾掉了(簡單粗暴),但是存到數據庫,在完美的顯示出來,沒有實現,太麻煩了

// 過濾掉emoji表情
   private function filterEmoji($str)
   {
       $str = preg_replace_callback(
           ‘/./u‘,
           function (array $match) {
               return strlen($match[0]) >= 4 ? ‘‘ : $match[0];
           },
           $str);
 
       return $str;
   }

  

微信第三方登錄