From 68407b2fabd8246410dbd5477cdd2125bde17756 Mon Sep 17 00:00:00 2001 From: panliang2019 <2540463097@qq.com> Date: Fri, 15 Jan 2021 18:16:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- README.md | 131 ++++++++++++++-------------------------- img_1.png | Bin 0 -> 19082 bytes src/ServiceProvider.php | 6 +- src/SocialiteAuth.php | 24 +++++--- 5 files changed, 62 insertions(+), 101 deletions(-) create mode 100644 img_1.png diff --git a/.gitignore b/.gitignore index 5ed2348..1ed9984 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,4 @@ composer.lock .subsplit .php_cs.cache test.php -Test +test diff --git a/README.md b/README.md index 116d64f..b5533d6 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,7 @@ $ composer require pltrue/thirdparty_oauth | 2020-12-13| feat | 新增`Line账户`登录 | [742481030](https://github.com/742481030) | 已合并到master分支 | | 2020-12-29| fix | 增加兼容支付宝qq app混合应用兼容 | [742481030](https://github.com/742481030) | 已合并到master分支 | | 2020-12-29| feat | 新增`京东账户`登录 | [742481030](https://github.com/742481030) | 已合并到master分支 | +| 2020-12-29| fix | 兼容laravel7* | [742481030](https://github.com/pl1998) | 已合并到master分支 | @@ -116,12 +117,12 @@ use Pl1998\ThirdpartyOauth\SocialiteAuth; $api = new SocialiteAuth([ 'client_id' => '74ee75f10437b4862d653a682111e5ddca1d24422f00ec884453ad232ae07ac9', - 'redirect_uri' => 'http://oauth.Test/Test.php' + 'redirect_uri' => 'http://oauth.test/test.php', + 'client_secret'=>'' ]); -$json = $api->redirect('weibo'); +return $api->redirect('github'); -var_dump($json); ``` #### 回调接口方法 @@ -134,19 +135,12 @@ use Pl1998\ThirdpartyOauth\SocialiteAuth; $api = new SocialiteAuth([ 'client_id' => '74ee75f10437b4862d653a682111e5ddca1d24422f00ec884453ad232ae07ac9', - 'redirect_uri' => 'http://oauth.Test/Test.php', + 'redirect_uri' => 'http://oauth.test/test.php', 'client_secret' => '' ]); -$user = $api->driver('jd')->user(); +$user = $api->driver('github')->user(); -interface auth - { - public function login(); - - } -OAuth::huawei()->login(); -OAuth::jd()->login(); var_dump($user);die; ``` @@ -172,14 +166,9 @@ Route::get('gitee/callback','api/TestController/giteeCallback')->name('授权回 return [ 'github' => [ 'client_id' => '2365a07a73dc25a27e5c7a968248b96beb53a1ad300de7ba6bf4ffe247a4b386', - 'redirect_uri' => 'http://Test.Test/gitee/callback', + 'redirect_uri' => 'http://test.test/gitee/callback', 'client_secret' => '' - ], - 'github' => [ - 'client_id' => '2365a07a73dc25a27e5c7a968248b96beb53a1ad300de7ba6bf4ffe247a4b386', - 'redirect_uri' => 'http://Test.Test/gitee/callback', - 'client_secret' => '' - ] + ] ]; ``` @@ -241,9 +230,6 @@ class TestController ```php - . - . - . 'oauth' => [ 'github' => [ 'client_id' => env('GITHUB_CLIENT_ID'), @@ -251,97 +237,68 @@ class TestController 'client_secret'=>env('GITHUB_CLIENT_SECRET') ] ] - ..... ``` #### 在 .env中配置 ```shell -GITHUB_CLIENT_ID=xxxx -GITHUB_REDIRECT_URI=xxx -GITHUB_CLIENT_SECRET=xxx +GITHUB_CLIENT_ID=684a49aa60ce +GITHUB_CLINET_SECRETS=86c3800b0da6b6687e7572a9251860 +GITHUB_CALLBACK_URL=http://test.test/callback/github ``` ## 创建路由 ```php -Route::get('auth/github','IndexController@auth')->name('github授权'); -Route::get('callback/github','IndexController@callback')->name('github回调接口'); +Route::get('auth/github-redirect','OauthController@redirect'); +Route::get('callback/github','OauthController@auth'); +``` + + +##如果要使用laravel app 注入。先在`config/app.php`注册服务提供者 + +```php + .... + 'providers' => [ + \Pl1998\ThirdpartyOauth\ServiceProvider::class + ] ``` + ## 控制器方法 ```php - /** - * 授权方法 - * @return mixed - */ - public function auth() - { - //普通写法 - // $auth = new SocialiteAuth(config('services.oauth')); - // $auth->redirect('github'); +redirect('github'); +namespace App\Http\Controllers; +use Pl1998\ThirdpartyOauth\SocialiteAuth; + +class OauthController extends Controller +{ + public function redirect() + { + //return app('SocialiteAuth')->redirect('weibo'); + $api = new SocialiteAuth(config('services.aouth.github')); + return $api->redirect('github'); } - /** - * 回调方法 - */ - public function callback() + public function auth() { - //普通写法 - //$auth = new SocialiteAuth(config('services.oauth.github')); - //$user = $auth->driver('github')->user(); - //var_dump($user); - //laravel 容器使用 - $user = app('socialiteAuth')->driver('github')->user(); - var_dump($user); + // $api = app('SocialiteAuth')->driver('weibo'); + //dd($api->user()) + $api = new SocialiteAuth(config('services.aouth.github')); + $user = $api->driver('github'); + dd($user->user()); } -``` +} +``` ## 返回示例 -```json -{ - "login": "pl1998", - "id": 43993206, - "node_id": "MDQ6VXNlcjQzOTkzMjA2", - "avatar_url": "https://avatars1.githubusercontent.com/u/43993206?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/pl1998", - "html_url": "https://github.com/pl1998", - "followers_url": "https://api.github.com/users/pl1998/followers", - "following_url": "https://api.github.com/users/pl1998/following{/other_user}", - "gists_url": "https://api.github.com/users/pl1998/gists{/gist_id}", - "starred_url": "https://api.github.com/users/pl1998/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/pl1998/subscriptions", - "organizations_url": "https://api.github.com/users/pl1998/orgs", - "repos_url": "https://api.github.com/users/pl1998/repos", - "events_url": "https://api.github.com/users/pl1998/events{/privacy}", - "received_events_url": "https://api.github.com/users/pl1998/received_events", - "type": "User", - "site_admin": false, - "name": "pltrue", - "company": null, - "blog": "pltrue.top", - "location": "深圳", - "email": null, - "hireable": null, - "bio": null, - "twitter_username": null, - "public_repos": 6, - "public_gists": 0, - "followers": 1, - "following": 1, - "created_at": "2018-10-09T12:42:14Z", - "updated_at": "2020-09-17T04:49:23Z" -} +![在这里插入图片描述](https://img-blog.csdnimg.cn/20210115174351473.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyMDMyMTE3,size_16,color_FFFFFF,t_70#pic_center) -```
## License diff --git a/img_1.png b/img_1.png new file mode 100644 index 0000000000000000000000000000000000000000..43a2c5e6512a4534ef6bd7036eaaf798926f6bf9 GIT binary patch literal 19082 zcmb7scR*9=(tgxM*8+G~1%(wXh^thUA~kjegdiXY5fG7@0@8~RRLUx=tW*g?M1jyk z4G9p63kxhD1V{)qASz%8O-MijNq%o|ckjL5xBLC>{YyMK$vJ1nFK2`9Y-6Bxl7hCdew6^ib;ikc%Fcsj8a0(nVu zqqUfaYybzP_`4vGHzzqT@OOI`6dY1MFZ>1qDY@DMtz9jigRXvQbb|_(64#jZYo8_S zSKl+W>xCcWF~UGR7Q<`ATqQ#VY;8Q&Qk^N7hs}ixmW489qbvvTdy=o2Q2vseyl`bv zSBDF$Uu`T^%8$=O>1tn}G^8<|a} zrjDR9;niQv^RGVJoI6$fjlAUsNJLB5G)^!hkFnswwv6(}=DVM*TCu*Y&|I89whhV~ znyMN;h#%PwfxI*97qAxPF<+E5U@fzgU9?1D$Lw_1a%8|HPB6dpBsaF~%f9R0f^UsO z)F6*Cpj5*2wKmTp2TMjkv{cSmTq{szc=fAcEds7EJ# zTh?{#e$Ly$ANfD#cB1ZHsS`|W;Ya34aF45iOG!>I@o5_9q$A~|TksdU&JlvI=Bm^4=hdl3 z%u%|Aq>9z2m<9EZV6{I__e1^jS2MG;2e;rh13zg(k3wq`BwrLoQ6qtm|48|S17?={ z_D?%I*LR_iQs5)g=@ICFmu8fg9!nW44W+_GcxULq5VW@{y>~K(D&)7+1GipVX=1i= z8+D7%Lm=}=#uDs&81-yH@st!csXFEOhk_^qxY_y0St4fYhSo|+3+ZHVr4R4!JYUl1 zis%DiAef4o>2?XtS-h@k=7h=jyd{z)h_!|GgGR+K&!A1_!!k0 ztTQ4;kmv5NGRXL7c}XE!dPR74Z@Z?c zP$TS+CMCxZ7t(2YNU}y%;vfWKb8-Y~ik$STv#WbdMBj=kNH3Stt&ei7dzMlv!SQ_k zl7a~l%Gc*JT93ONRzW|JzAiVXwTcfpTmCfEuwvoWX_ZZocZ0wykCQ_x4&3bZCv}C? zt9?*EoqK#Haj|XiJ0psBC8Y#&{88;4YMx5~WBkYr?(K%R7nbj7#i~K;dSpOMzJ(Gd z(lT7T4+N(0E%!y1WcWDPQns*;O9YMzTZGR-p!Qn5w?oZT5FPod9zqS_qrsIEZHKu{ zDREcuAaZWfTY|Mv<0Qx@i+thxJlpJDwy!%OXH&TeUgE<7U%-xn*1w5966eyZ>L2?W z=h6HAP><7>S{YyVJ<>wi+pxoRc8l-bG;SJN7~sR?8csP<#USrO0;X{eNhC3CX&zpe zz7{>LvjI}6C)ow<#T_5Vsf@*koBQG9#$P}nFZ9odvYNNedJIS&sKkUkbv&=N^h2}j zhBt?5=#b@i*{gVlbbhnkMNM{59Trueh-$=lFMi?)_i=4*pP@nvvy))xX|Zi@NTg|; z9H)M&3;M)hTdM!jV(!vjtr{gISieqfIr7>ODHi5-#Yu(ij#{G|ljTXVziv@g(}bYG zwj|Op&AimE@TCEzx~c3cacw6X(pU+~X0@SK5_OK6XJmpI?;z+;wXsaNUed=K>lL`Y zC+qCow@>%ZzjQU-)iSZMUz%^(=g=?5@-b9$1+VPaU(Bs!^ z%p9{YYJ{sYu@*O}ZH-B^xQC6BaTRQ$*0!Xx1}9RtzjIxWMHfxCo4NE#|I}6~0S`ny zFSew~>`ydKue0N0Z#b+rYEauE^FQQmA%&GX6)1AfSWhaOl6E@eG$Q;KwxwO| zD~nWNlvF*d@g8b(LA1$6cXljV4@^Hpy5r?rVjO3Vj+GfxDy#$K^OT5NN|LmQG!;Gj z#>SVQ*%JP*oxcP3LASSaQ~FRs5uf3#p-(?DNJ8JeG99dHTAzPK`WtUG5E>=KyvRP} zwSoNZjfC!v*-Zh-;x^lh39alr@kLhkgC5Pr5(jI?_wb~4Mq*jDg?7*FUZ{OzJU!*< zhcBuljvjGVP}yqN@ZbEF_YUq^V7lSqq^o`UJC;~D&OcZu7%_IYiU-Zv)JOWVo=Z*} zD@!Z*mYrIvnU4DkSRNt7{?4*7&!virPE@I4NGoFt>42mgwW`db-Lo8FM>v^==r?q` zCp}k8Z<=A0XQms<4!UUCYB0-an)*9#3hxB!M1Ni(CXMYNluAtZ4zSA82Gw7XDt;@x z*aRtZ8x^parFzH6@f>a0@aeC#7c7%B#i|3obS{Q}H0Z zCOoP)YY!>8qRA-Rz~Tfy?jM<#+FhmJO5(2et=-e+yX}r0LU_8^4-ebRS)Kk#Tu%~O zAKJn>wl#)+cwpX}Ou=lUz{Cua2np=qkaLtE~#QFj&W@WxgwWRBGC4wM#}Cg_x32>5@??IXBS5 z0;#kYpc|jT2MR_#vQK(HIWVSm0TQVQTg3;qsNSiLDkU6C(M3#AGINF-bO|n~_53V3 z0+31hAQ_Xt8kZ#v09??4)g{=RjQsrY1)Wy@_u!%QUja*ks~`Oe+21zvY1Z}cQONXC z+cyv2I|e~2lK`9~6dzKtzwF9iNP}YdGry$NCzlnZN$fJa-DvAv{y2lhhuLGsNg;Ag z;qlD&T|LM9`};A9kO(d?Vzgt&d7%dB>09HG$)Z-d#%P1+qh`AJz+{#D;WlnyA$J;$ z&>(hLV{(NJn}C~v5ZBsH4i^x`!di@dWYG;p$VPZ~qkB(}V^tD+?go3n9$~y`x7{li zdf#$P^)bl1e7PKqUEMWyNAn-iY~<&R%L&PXHq)EIl$XANaH(@cd$?cE6-6y^(~jLW zVWr3Ri6Ye?$Mw|KIrzao^MpGg4RvE4Hep#Zf!@hXl%SSURN!LZ8Vn4vw ze};+~Js0ZO^@6t(GK0*x5B-Jx#_iUgL3=9&twmmOS$a7%XZPYkV}lwq`ujU*xv4{t zh_nGRCS-XD+8+gH=bJ%oa^(FUvC=0F@E@22LE%<8!TjbNBPC*c=WGU&d7Sa9b%3FN zX;AC4>DfsYP~(JD8^mX{B@ZmpQ>JID&pk)@8pJV~(FeCchTqQeX^mxGsp-=J$%8=R z5bXk^(Tl_|mWKX`Z`q%=hW=LgF?|&~eFE8k>YBgkbYtpM(xvtCh*!J?pk2ZYZhrgDQR9w(#5(Dpe6Q5P4^ zQgvVFkf}yNM8+TC7uBvZX>$o5t00QMl(Jn||et8|MtU5dlVc*M|Y~vi(I8hrYS5sRNL+;fr z{hEFX7+HG;Yc)!f(j`wx;g3qn4lt>3E-Yn!64wN3e5A*Zc= zJ94@-u4AM3(J!#QL8g75aPev?EE}vwl{R75V2fb^)+ zRuM8Tm*Va$!^7??fA6t`i#5QD7o(=3_aJfTc0p_1(?rAbvJwQN_|RQu?((b3sYx|d z`vik%@z5Qx7k*}Q%5baSLn4#m?!KBND5>zND$twQl`wDo5$XgfzAY-(8@g#*J)S5o zyW)0{Mz$i+ji&ucs34_~y&|kf_TleG7*G%$iF7A>%Vxe)SvsKMeDN~>H5I6FB@QfB$IRYH*}hy*FP$9YJ9UyzWKr<3dP zOJ+`WlzJlTf~oOo@hK?E^w_sf>EDc7octk4H>`q{e(Spt^0}g~z)-uVM0rRzPNki7 zD4;qyYX0QPd~ax4i;D_;c%`5HUU0a>i~f1n7>()HX6IA|pF=m6*ig&tzLz5Ux;4fw zR^r^}lyPZ^+m^F|Jhl_Pc#&|kC>#TKQkMiXSRQ;xAcj1MtMf~ z-b&0RJKF{Zmdk)R^qpUV(GCzbj~sIf(@gYmkS1;>AuX4BYeexhpt|U#Ux$8SN=G1$ zS?xeG{DDAp;bwoR94P#B=)Ou9E9QQv7fGrAaFTHvy-Kwoi;m^a6WXkw-z?0lPcDNJ3(6~YTt;a;S1SEvwRZ&9dHX#|7hy~}) z!Kx|tXDix}MVU8Bl!2}ERebj*D=Zko4rrP^87AbKgEKyPGU5HTZ8C(X1xRS-%j zfPb6!i=&mMYqq_+K0O2tD?}fpKR8Ce;0B@;E;HxmHp_1@1RUs)K(jE2kWVlOJn>EeEq#cJNW4tOm!<3i2}0aas5>mnD7f z5elVf=fvPms&gPY(+u`BtLaGTBr!8R+&Bx<^Lj9Wy`kYXWZnlLX>WVpNEfxU!m0h$ z?dvedD!M`C%z5{jk+$M@(eO=gmK>@v+i(iw@`}t_hH&)W{(q)|jv7BvE>K_Jrngd` ztm171D0AnyFr-uj<(eR-JB8XjAT47NeP=SzmtqHsMZbLA-l9U<238Vh%G7CN2zbL zlu=G0beGgn`hqe2c2&c@`xhS>^?QwT)CQG^3&Z_|Y3i4g`ZV5ofZXCL)MK$ch?f#V z%c)yC*w^&F=9Zd020w{5CA>=Tv?7C9;c7fpQgrNtKz*Q-af8$o-AC6wqeMk$RKX?v ztZs$=b6>Nc{q4Sve)v?4%mnKQ`LT zq2y93kas7Yi(^;gH0rOlP;bBjamNr*xu0XG+5xc<7TdP$>(~1|GNmpyVNJkumtN#Kh>X?F8a<~T(IT2QI++~?G`@= zA(Bw}HG89Mj;tQa&P*@*pPT>gnu{-~rz}ZEZu4wyRaoc5|3G16l`DJx83dG9-F63( z$ELSok(H|&5;TJIc(agEVGVI;5`}~_Ls$m0#O8Ic&@s@)n?JZC zru1o2C?Ag3ng0$@iRHSX*zEG0vjqTY-v3&8maC=zOL(~9SmA^a>pfmx6&2F zsi=#nh6{F>u$a~(7M@dIL1Aau=|GQ=6S_Ya%e+u)RhoNsvSVgDIm6iTkpI8{Gl2ka z!uGdy;#H;8bmE!(nu~!#D;W85kLAG0&}MO-Z*3$}>&kYyVQk7Ny}oFb z*vHom!p1F@-;pFUD?*j(AIPF>AAKC9_BbV?Kirjft>;~1Uw^k!Yc1q-hN)g3B?|5) zrj)1Eyh4?&D#pHy!UtxrVm7jOjjUX|AG7SU&S)C{v!;Bn29?oU>{o`Im*Wg+bvQ3> z+^AnI%Yl)3*lTPPGXpp4-ogo!k1GAe#e;td1f-AZSh)T2{La8f@J|E-%TvoQ{yubI zgEthEQo4@+AU>?hDG8lS-IO}+c&NDZZ^|iUuPI*L$Sy^tf(+~if(v}52b&$Q*?7eA znA!org%1im@F@}ekisx)EwyJe!_jFaN<;J39Ca*_V}l;&=`lhA`mo15YB4EyG0(lo z&98dxnh5vaDgwNzWxMMQGZS+%8Jf#5$@<&)5iC^w0N}`UNURjGN$aL_f>^?&{F}wS zb2vlIeVQt#ldh9}w2ytdI<30$HC&|pW)#HS@q4&%vHKt4LSfbab2+}ODLt-Mbr#yQ zc8LW`EW&FC{7bl4Da-6HVjPF>W~^}I?hI%)ZmYI0I}p)w3Q(WxRkvq^1~Cxjj~x_Pd^m1%aW1_^m%pf`oQe}9TNiU z9dabNo@LL{lWdZ+k`VDXjpN1R=&zFalubdKL5&@=(c?Dp;l6_I2aGq#D9>&aeDsQ+ z{aF?^_=Z~AoFT=(HYd#7&ZB+Gq~&h8ZTH2E@Ru~nhyHxaJfcxL`vHMPx*<85kBn+P zLJ1OHBD_Z5@QBs)Fm<%`@W>96K^=*3D56RF%yT=;N1Hv zzcupm#oa;QiO2};jxY8}?U+Dx!_^{u5l z<~@=kHYoI&7`Yghnnm}0Gk*nS;*r`gwAHc(m#JIoWbt~c%;ziSu9ECkH7$%)b_1-3as&FYCkk*D<{_mkAL4FYuS@l2-wk?{Z&9mcbzuO4&Xcw@|1hk%6x4e>u{txlC0`8|NQBCO_^ghcs z#BJbJ8{sCV#f~~ly3}|qHL(VI)w)i{AYL)Jj?AbtSrkuI`KT!#zDyOHx6t8;!@ZM>(~YgvAfX_lZr3P+4)uS6G>h|TwZ!u^!7CmA}=_z%zk z$uAjokxa|l<8T>)NE`C@?Hdpax+UsYY<`s^7K5E)7#r_xZaw1`)xezNBHZfxW1qimw7zXUQ`J0?36o`5PN?$ z<*d@8I`U4S*Er!Mlx-O6G+Ilk`pT{CexUFjIXSa!>B?VFIDFZPr=Ci1c3@{O zOV{PvE6J*nY`jIBRe%S8#-Z`wkplXBqf083Bg#QxjjukumHCKtam}6n#9E++P zeARdC&nO}8cn9vH)z>u}{(XyU(^mt$;lcvKLKT=N(&f&F_F7Mk`M;7n>bt1EuYeI? zr%stTlWXHfrD4POlJ!_O1{}&IR(;`GI|qH2rp4YN*P#H-Jb{;E1CK>m#1L$`1pn)J zoYJIW5JjVQ@BZJk_jIOwY(iX1o!}yHii9pzJxXYqf5DAi@PQS2)B7Wr%P2VVr&-(- zYw1eJakwkh(y@%f-sV))!PO54l%3*yykhqv61O%X@9G&}i>#d>P^u>`X0K|G9pEo7 zwl6{74{TDHd|`h|C(hb4_wq*XGB07|OkuE2`Co;Q$}xuX)YGwv81hW4gB_+*uqXcT zhSR}=f@AmM6EV;ImfP9~OdYzl2Er09b~VsqzZXVBWJ3o<_5ZD-f2RG<+v6Fsp%N{w z8-i}vC_`4O?h1)B+6m3cGHDeK>{we9-1$_0n^8W|(Y9i&u+;VtFk68HO97Bi1VfunBV!U;|v;;-pWxvi1D^=*g`tUBaIDuhBuR>tCWnTIByfI&dak z`e?EgYGOr$4|#+c?NprM!hTOy2u+S>VR3y(sDHqFWD)IrX~w+(Q^=~!9PqMEmfv;k z!+6e)1zV$3DMY`qpY_Qr?suuF+7=^r)1g0wJt;a5*xv6*HyZD~&S)&SNYf1D1qk4@Z4h$TzPO-CzFZ2Tir2(1+W;;oKZWMcdizT%xZ=A-%CdRKnruRC~Tb` z0|oV@Q|*C>u$dv~{%xvhn}@DPo;|5#q=6*V_$5o^l&W5**^)-03kIYIfPMkn|3_y? zYcwo?9b&rrlGu~n3tB=&WT$qiPn^bE_Cl-UD2vJJTZn2EMkDz++{vd^b)^1TVv}2I z(P+kOV0X;x;JWVVvVdxFlcM&G{q2K-yo9Blt+%?B;ke!GUk7Y;yKZNfBTL0?+8yt- zI8<^y_jgKtbQ0=aDD!e~^%b9)ZMi!)RI*+M6=BNQLx)*US)9Ft1tbf};$0P|Q`2Hv zZy34UOP+R^VU_lDmQ|&rMa%&}<@AFQ_Fq{8LW$ha1Kk~B0mTa4>UrG{)PD$s{|jDN z0eB&E%Z!)Dr-Bs`USQXODq!Hh#tWhP$Dx6{|rBrVrhkZ+6!dLbTd$Y6UKIKBBz$VU{^i3zcfL^G6pF{EB z*EjT)u7d=rj1f6~lQ#+fdz;Iq{Jzb9`|KzMVc%cH6Y5-vy}Bk9b;_Dc-&>crNvq9{ z!KIg!h*~c+wF*9^jtJ>o8+5_swdtb+d~3&Lqo>3tr9!z4`n4*nc%}L-_sJ8k1^&&E z%$AJvsTHef#`1qd5Oit50XMhM{IOmca@uwXYA~$Sj-nh9?dUnBzu(cBN3gTWA`HI; zVslRD=WH-(D^MVh*Z>wVoB;X^W8$n}4G}N>YZ7_8ZXnrZUA)t8Cj}|;tikX&IS!zo zWy{@zJ6Y7|LzeKrd9?bRTPh=Rqd0X}kH4Lg!b6KZnoZh>o#I%S(nlH3_^YsfvbK18 z8DX)%?1k!WJmTM2=s)56eyFnnGc2cYPcnr&tF)kK#p==vS}(O03XH?1A@7(kF=Z|Xao?q1PhnYT<@I^= z_ETDK$*?Un(_Pr8N^Dq6t}ndsQTqQkXO|RVjwfm5`P!FgGNssK@FaqI)g5UZGuO@f z2SE0PKz;;8x(;eT(f&&Oou6UD0m%}?8!TlwvaxqM)F>TL?VNamB=W4>;BpO!LH{{+ zuQtKB><@4di%3}S1`1xH4~Y7JohBBeQ@vB>cm=0$vP8v!9c|3y>cU|=8-HHaN&e5U zt6q>T3mtKbM}oh$YQkUt_pKUTgWz-V1V9tDNI*;}%dqluCYfTD)r?h3$-k_&xp3$} z{Xq!&1CVf0nq$sLX1x%0%m4OFP(RT}{0h;J28H0>9fVYt{x7Xn+!yw%=1zTp%^?Ec zP2OG(xfstd9gpd^y@d<*k3+v4isBmHiDE4_+AKb)D4kG2Z@Oz+qG48? z0M($yD_yKCZQodKLO5B^K`Nm6Q$?ltX+e8ux4wU;<#5C?G{q zbrDW{3}4|_3U_U+JR_u6EG)zfglH10#8)eFhK8fHvnIQ_z*^H=u8fGR(mDIsO zTMIFet~}TzH8ek>|LegGFF=OD**(Tey=co<+naQE|DX)qJO=yE234>3zci>WGX8@G zm1W<*HK^*4_Aj7sU9*vQd}XJwOD_V@>=)Iy3VNhsX6pQ4l|?%xB;T3+ndb)6Lv9VF z+}YV2(%0kv^oiw*+*YYJ6Q>|kqS`aipR!9XX_A?c<$mv=f-M5QlJ8p_p>9el@Vqgn zcj2#1{;F|x*Az6a?!2BTTuRudbmXn}aU-8&Mt*_z44C8RACd0b8@>Ai=5TEUg>h=l zrS`VUjJ*x!U0(~-B>I0)p#E*LTTz#V<>V!r&RpVd)9SMvPzd(3yZ7w3!^e}B{xKjH zDyJB+S|MVt7z&Yg&O`fE+825863BrZsaj*te(XrTC;>8TQ2loQMH>q}6aNuQcVZKr zY(w+hikQDygD&!-=1iWQ5?yvfr6VAc=0*&UwCQD5Uuv=kX?vVln=Y=GOjzA^cOrtwC}?;soS8 zH^u*y)UGw;u=j>$fEx6Tp2L|46G<9W9Fxt;te5EJ>Gt(6-t4F@m~;Bn=K=rA3Uv0G zPnKz+qtIHIuY78$Y?FQg0I2ptc8}bvQEb)nfftzR;AC62BS+gQ&Z$wZao5pwnqIrq z_21cIvZl>7&dD7Su z3N>C)H_w~Kv$n1d5}a&F{&MhS+Qn%bS$al#F?|U$z(CUzTwjA`Rq5k7izU+NiBY9NV`y@@^Gkd;I+# z>{!ywR^RH*mJfvMq&(L31(TH%9b;%E;$JaS64c*`8Gdx?U*Xw9>FaoQ<#3rvM|8)N zL19D)!;0j?zf@hU2>A&xoThDr`b+IOl*|Kfd+vL7x|YBCy+g(3;VnE8bo<2MG*qcv-SvTO2_^xb2cBpgb8<>CK92f)&|__rCn_uU zn+_IRt86uSPy8aJ7%fu$Y6}#)@2en=7~Oa1!79*YC}qjx!C^*QK+AknG5+)Z22-zI zkyw#kpoJv7wEK@KDRKa7t6Lv(T*lKP1~j%`bZF)^diP3E9X6J@2|1r#sq0=r^VA56)h8no_OBk**IdnKw*Fl=J7|v@9U4XT zS%~x1l3uQxorTkcI4<@N+DT9O-ddyYx5IhTQ=;($t+VS=Cy`Vyy#BBUa=g^m#NJIB zNRy9#!fAP@+XK;GdVd*au=vSd_==D9iuFWF@8|^c9X!?94G0nA5I{{Zq&-Y?)KJ0{ zq}Gq@fIylJyoDN+ikBkbAS>$9RH%V24gIE|@-=T#t~X_>rY?Vbk@G5ko@Q-qxksQ~ zN3&mH)dF4OI3RnzHeQ?EZx5#S(pHvKc2(8fE;a;STl@Aa)%n-qiwS(fd zqet!sjZ6MRbZpr(YvJyq=u#E%SjB7^enNQsZr)M&ODFZ!?iAX}HOt>j+V^;ZuPF`I zVk`!adx(R-nbn@cEcs*Hd!6fY?4m(YDAeD;6Ui7|v}SP`A5wlXXn75OQm^W)kjN&d zyVjc~IU4l(>2I4{l!rl|@ZB(vQ_h{W0LGYQCi5-bhPr9L6h14)IU4Nd7;HPiy@acN zb+QXLF^Q!tpJtp(arcIh-$KHEfN zhf!5Ql9B1&Pq@stopzbMdsy19;*BXUYr)_c8cb5K%)M)(E+G6Ko6&9k|2XZJ03GfY z6Cqog zFse~MaSJ&>5X2Zp$k=b3d>2fM6!V9Bl+q&5_k%FUC^0Z zhqGbZ#1ocaT11uZ6KnGYjyLIKEpXe^cY|PfC6Bh+;XtM(z^M2Do@FY+ASfWi!`sb#t&r8 z7;HZ;M-Fg1%hWZ6&pdP$R)JscS7Xi>%jwxv8#OBYs3sj;bpeEoH;8?}N=B1@mB;IQ zRCjQw;#k%YMH=rG+r-QGnSXq?ZP*W7=uz?mZ`pIIimoWLo5X zfsX$3W-jxfsJ^(>40;`UeKdNjMy^mc}eF`n3tFBPMiVy!bP`A5h42F$v>c)(Qf0+uqNm8XXD##A7 z2%_z_>5nc{oj=rHHjB_R{nrjzMr<}C11G7xA3BZ8`ON5`NzX|A8lWKKxgf<8h`H3Y&z496AI6pP6M;Q3jtJVb0ouf`=tuq=P~nLVDji) z-mtTfQ#7}TkCNjprin^P2zA12T^>%k_-D@H3w24QyCgb{1Dl=EMe^j$5Xds{>sGA|&h}<;_W|^AYc1r(Y^Tpyx&Nd= zzi%%OfecpwC!eMW&ZIb_DmrtJWGhEqZ|3#2HIYPpCl9|8)Ah3BXH+I~gUCN5fozpW z51T|GM0=0TOf)_@TU-*TFtx(<%M>0ybUDF8Bmu_OQm??#=0g zuYvfs-u;oWqsx$@C^yOVgBiqx{E(dLeLPV>;#`&HdTkXw4mCpHQQHI6R82L^OWFj9 z*s?xoRPs+PbKlx^bl)(TM}1jI6XXflKHSkPO74KW+UJ$HNnC-T9O?qRDCi=52_~zh zkptfb&A&ydmC1=dMl=?=MzIS})w^x+J*$_WKJYbeROnw95?M~jf;;EI{DU39sbsZH z>F&Se74oJmRunDQS!9M~yI zr-MUZ<8wZk{Fp%)99>stM_rgBEm)sq_F{QOop!2g{h!-$HUd6uB-}!$o+}24kQUA2 zi8B8beC|6tocZh4H^6?H?MbtE^uwpl;Rui!)mW;$qv_YtGSRk~t^w&^O%w$hx<%#f z9vwXj`#xQ;cUvDqtt@dC`td$a_Wv6Biw1)dfWDGbA{SF|gnm+q|1HWhOd@;@wa-R{ zJ^&l7+kQPUSt+s_xKWS-@LZ6TV2{>2nfty%r$6V~uywKN;fE>h)@*PNa@~B=qsYC8 zr77H0{Z8rdPY?`L0s`?9*)699#Mqi2e)cE1Vh$vL`~-Og?sH`PEy-B>HvEVzSfvY~ z79E#Wx%2z~z>XY}jy5B{Gd~O!422(Si#CarUkqDW{H0#lIt1H1NiGCHPW*RRS#8G; z-y@!Y9sioCPSj_EDLrGLWLU4_^e1>{wu}Rmx#Z6`ZvGS zttXkquRtdHUu^*3V~$raew5oRmT>~?*-m>7tQ@m4`{;>*^Zu!NtG(ggn=maqAraR> zf{BLTPnp3*<4Vy>F?OO<%>nJ!j=JSI?jeI_%Q`d3L^9^yv^=tdsAc4=|3l`G=3hwU) zQ*IvqW|I%v>lD`VG}Dbll1}SeZd^KN+Ch>7)7xuNjjI;deY#?b0qj82^;JA;*3ZN< zB)-h7)&Fr>6Zg&RmCC23RPf@2>?W)OxWH@_mtKE}Qo~R65N0zw3DD1IZw7-Sq zRGGR>N`3;E;pwo-;by)(W&0HDn}|t(k-knAR~+Drl4N=>Hog#vU#2UsL(avZFM?ys zpM%*;F8SP!jz(%cuZ#mFGqIE=DI>a?z7xz!sz2aX} z18JYM_=y!M5?fn@$L|sajN%^!t5zZpgd)J@UUUC3x`mjqbDJzoOYo4=m?(0{; zsuXq=_D@`r#SYlgZgn3@PvMES$b2&0bcTmnLJSuU*eBi?-@Wd1Rbk8#e5 ztUW&^8m%+EBziePuS#U*)uWyk4IbvgecRfYI~7-aG(;xJ{lg?Zb?!xktA-}R=~S03 zuiZ01PWoyQmTNn)QsVr;*Yk-Ydvs>FvI;%Aj+ZytsYi-7i4ECH=(kol>G!`x$MNC0 z*24LX;gMkVi`_xxJVHlVj+_JkBh~;(FTl27bt8Ul=ZcJ@^e;}r{y5v&|9Wp))X;mJ z4CL0EaxN_G9@%61+D{z~sLwEQh&m`?S!N@Tt(RcVap(S+gltWz?`()iyh>tVSzwY+ zx3tNbGPDPXNST^mat?yL4UjGXz5FVcGXzDs^*)7l59@+4GD9UlRow3~Ms)bW2X@r2 zj0G(NHN5jL{j>hH=_mE<1Iblk?hwdNuQ5~kj$hPKyKbE)c$xOuPY1;23>nK>bLGRi zu@i>~np}(LXgm-XJ1KdAAwdWSXk82|c8k=twam6kIl88~KP+S3Jz7f#4ylemfPNp3v+fIj1eA>(n9mX#gD&Jy_g=0AE9VF=@?v!ASx zrh6kx3ElV0G>!PWW8##$w3}^8gfSMO&7;u%x6f!B;hn~pboWw4mDxxHc!k8R<|H0o z|CqKod>7R>>j)Scf369K8jlhx&UOce)fTXG$5`b_=E_F(CRXZHWAv($26@UV*> z3I5G;P5sKlQlht0Yy$Yex^53)E>uyeZ(r!{lkI|Do}lDoIffQK?nfYEhDM`-VEJeH zH`aq)Ky^csC>DL~QyB>}IA42oE_9*5Imwy3f9h!#kZztV8ro=rSH_~1*#4?*X7!!p zz+=iAhs>A7Z35GaHrb0qBE&x7s;8t4->%u;)1qIrvo-^=$X`EXFH+^fyu3NP7|I0Z z{b`-s+pTFizjQqd$aBuS>>s3Pz3sae@NB^LwVl@_?~-BK)xd|NYv+AUL$$9cMq{UX zt_pWsfAX;QD|)&sz*y%zd+P?stziH~O4Dg8Q*g^NpPkL5OIz9)3S4%7-LCXg7rFt!1(gw(lak*8zhd$FU&)nQ+{|zSwlK(>(8STH> zE|06ys%t=VQ(|I4AhIj*31NFWYz6NY0x0~&l7{m`bq0lCYXE%khgCFcv=f!hAoqi9 zpqlzg6~%xK6u?abk80~cAcsZe#C}SGPr;m`X7HZsr>PB+OYyt>b=4Hkq=)w+5sYv1Dt~4txQ7KJ2yXO zfx%fvfbHr9*1jMlr6hA;j^D#`sfL2Z$#?*eYKpQj??urHa+rntA^=-5;wyu6m4bOc v3CLc^={oR-8@N&87g5fGsCE)<=+_2B;jPZ@({ literal 0 HcmV?d00001 diff --git a/src/ServiceProvider.php b/src/ServiceProvider.php index 1690193..68fab18 100644 --- a/src/ServiceProvider.php +++ b/src/ServiceProvider.php @@ -21,15 +21,15 @@ class ServiceProvider extends \Illuminate\Support\ServiceProvider public function register() { - $this->app->singleton(SocialiteAuth::class, function () { + $this->app->singleton(SocialiteAuth::class, function ($app) { return new SocialiteAuth(config('services.aouth')); }); - $this->app->alias(SocialiteAuth::class, 'socialiteAuth'); + $this->app->alias(SocialiteAuth::class, 'SocialiteAuth'); } public function provides() { - return [SocialiteAuth::class, 'socialiteAuth']; + return [SocialiteAuth::class, 'SocialiteAuth']; } } diff --git a/src/SocialiteAuth.php b/src/SocialiteAuth.php index 4af64a1..d1e2913 100644 --- a/src/SocialiteAuth.php +++ b/src/SocialiteAuth.php @@ -17,11 +17,11 @@ class SocialiteAuth implements Socialite { /** - * 用户json数据. - * + * user info object. * @var */ - protected $userJson; + protected $userObject; + /** * 目前支持的授权平台. @@ -33,27 +33,31 @@ class SocialiteAuth implements Socialite 'huawei', 'douyin', 'line', 'qqapp', 'alipayapp', 'jd']; /** - * 配置文件. - * + * 初始化的配置数组. * @var array */ - protected $config = []; + protected $config = [ + 'client_id' => '', + 'redirect_uri' => '', + 'client_secret'=> '' + ]; - public function __construct(array $config) + public function __construct($config = []) { - $this->config = $config; + if (is_array($config)) $this->config = $config; } public function driver($deiver): SocialiteAuth { //兼容laravel app容器参数注入 if (array_key_exists($deiver, $this->config)) { + $this->config = $this->config[$deiver]; } $this->verified($deiver); try { $api = new SocialiteApi($deiver, $this->config); - $this->userJson = $api->getUserInfo(); + $this->userObject = $api->getUserInfo(); } catch (InvalidArgumentException $exception) { throw new InvalidArgumentException($exception->getMessage(), $exception->getCode()); } @@ -68,7 +72,7 @@ public function driver($deiver): SocialiteAuth */ public function user() { - return $this->userJson; + return $this->userObject; } /**