Laravel5.3實現(xiàn)第三方登錄之微信篇

0 申請微信測試接口

訪問微信公眾平臺開發(fā)者文檔蜀漆,開始開發(fā)-接口測試號申請,填寫相關(guān)資料申請到一個接口,獲取appid和appsecret左驾。
在下面的體驗接口權(quán)限表中,找到“網(wǎng)頁授權(quán)獲取用戶基本信息”,點擊修改設(shè)置域名诡右。請注意安岂,這里填寫的是域名(是一個字符串),而不是URL帆吻,因此請勿加http://等協(xié)議頭域那。測試接口允許寫ip(實測用ip的話會有問題,建議用域名)猜煮,但注意在用手機測試的時候要把apache的權(quán)限設(shè)置對次员。注意根目錄和當(dāng)前項目的目錄權(quán)限都要設(shè)置允許。下面是參考設(shè)置王带。

<VirtualHost *:80> #www目錄
    ServerName localhost
    DocumentRoot D:/site
    <Directory  "D:/site">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted #允許訪問
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "d:/site/xxx/public" #項目所在目錄
    ServerName dev.xxx.com
    ServerAlias *.xxx.com
    ErrorLog "logs/dev.xxx.com-error.log"
    CustomLog "logs/dev.xxx.com-access.log" common
    <Directory "d:/site/xxx/public">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Allow,Deny
        Allow from all
        Require all granted #允許訪問
        Satisfy any
    </Directory>
</VirtualHost>

1 安裝相關(guān)庫

首先在composer里添加以下內(nèi)容淑蔚。

  "require": {
    "laravel/socialite": "^2.0",
    "socialiteproviders/weixin": "3.0.*"
  },

使用composer install安裝以上的庫。

2 設(shè)置config/app.php

添加Provider

'providers' => [
    SocialiteProviders\Manager\ServiceProvider::class,
],

添加Alias

'aliases' => [ 
    'Socialite' => Laravel\Socialite\Facades\Socialite::class, 
],

3 配置config/services.php

設(shè)置微信接口的appid和appsecret

'weixin' => [
    'client_id' => env('WEIXIN_KEY'),
    'client_secret' => env('WEIXIN_SECRET'),
    'redirect' => env('WEIXIN_REDIRECT_URI'),
],

4 設(shè)置app/Providers/EventServiceProvider.php

添加事件監(jiān)聽

use SocialiteProviders\Manager\SocialiteWasCalled;
protected $listen = [   
    SocialiteWasCalled::class => [        
        \SocialiteProviders\Weixin\WeixinExtendSocialite::class,    
    ],
];

5 添加路由

Laravel5.3關(guān)于路由有如下變更

By default, fresh Laravel 5.3 applications contain two HTTP route files in a new top-level routes directory.

在routes/web.php添加如下兩行

Route::get('auth/weixin', 'Auth\WeixinController@redirectToProvider');
Route::get('auth/weixin/callback', 'Auth\WeixinController@handleProviderCallback');

6 WeixinController

代碼實現(xiàn)如下

<?php
/**
 * Created by PhpStorm.
 * User: weiling
 * Date: 1/6/2017
 * Time: 11:34 AM
 */

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\User;
use Auth;
use Log;
use Exception;
use Illuminate\Http\Request;
use Socialite;
use SocialiteProviders\Weixin\Provider;

class WeixinController extends Controller{
    public function redirectToProvider(Request $request)
    {
        return Socialite::with('weixin')->redirect();
    }

    public function handleProviderCallback(Request $request)
    {
        $user_data = Socialite::with('weixin')->user();
        //todo whatever
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末愕撰,一起剝皮案震驚了整個濱河市刹衫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌搞挣,老刑警劉巖带迟,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異柿究,居然都是意外死亡邮旷,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門蝇摸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來婶肩,“玉大人,你說我怎么就攤上這事貌夕÷杉撸” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵啡专,是天一觀的道長险毁。 經(jīng)常有香客問我,道長们童,這世上最難降的妖魔是什么畔况? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮慧库,結(jié)果婚禮上跷跪,老公的妹妹穿的比我還像新娘。我一直安慰自己齐板,他們只是感情好吵瞻,可當(dāng)我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布葛菇。 她就那樣靜靜地躺著,像睡著了一般橡羞。 火紅的嫁衣襯著肌膚如雪眯停。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天卿泽,我揣著相機與錄音莺债,去河邊找鬼。 笑死又厉,一個胖子當(dāng)著我的面吹牛九府,可吹牛的內(nèi)容都是我干的椎瘟。 我是一名探鬼主播覆致,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼肺蔚!你這毒婦竟也來了煌妈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤宣羊,失蹤者是張志新(化名)和其女友劉穎璧诵,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仇冯,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡之宿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了苛坚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片比被。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖泼舱,靈堂內(nèi)的尸體忽然破棺而出等缀,到底是詐尸還是另有隱情,我是刑警寧澤娇昙,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布尺迂,位于F島的核電站,受9級特大地震影響冒掌,放射性物質(zhì)發(fā)生泄漏噪裕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一股毫、第九天 我趴在偏房一處隱蔽的房頂上張望膳音。 院中可真熱鬧,春花似錦皇拣、人聲如沸严蓖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽颗胡。三九已至毫深,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間毒姨,已是汗流浹背哑蔫。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留弧呐,地道東北人闸迷。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像俘枫,于是被迫代替她去往敵國和親腥沽。 傳聞我的和親對象是個殘疾皇子勋又,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理去扣,服務(wù)發(fā)現(xiàn),斷路器逊躁,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • 很早前就想了解下微信公眾號開發(fā)茅信,懶和拖延癥讓這計劃遲遲沒落實盾舌,正巧新項目有了微信公眾號的業(yè)務(wù),我心中沒數(shù)地回應(yīng)蘸鲸,我...
    英文名叫夏天閱讀 4,425評論 1 4
  • 對于大多數(shù)的網(wǎng)站、APP都有第三方登錄這個功能妙痹,自己也做過幾次铸史,最近做的passport項目又用到了第三方登錄,...
    yljava閱讀 11,328評論 2 14
  • 注意:代碼自己動手寫怯伊,不要復(fù)制琳轿! GitHub 一、接入微信第三方登錄準(zhǔn)備工作耿芹。 移動應(yīng)用微信登錄是基于OAuth...
    大沖哥閱讀 15,095評論 0 7
  • 為什么要使用三級緩存 如今的 Android App 經(jīng)常會需要網(wǎng)絡(luò)交互崭篡,通過網(wǎng)絡(luò)獲取圖片是再正常不過的事了 假如...
    wanbo_閱讀 43,254評論 39 226