1: 首先到新浪微博申请加入开发者: http://open.weibo.com/

       右上角登录,登录后点击右上角头像,选第一个编辑开发者信息并提交审核

       然后导航栏 微连接->网站接入->立即接入,添加一个应用

       导航栏,我的应用->应用信息->高级信息

      如果只是个人练手第三方登陆,可以不进行审核等操作,你会得到一个App Key和一个App Secret。

   laravel 实现微博第三方登陆

在高级信息中编辑授权回调页,在设置回调地址的时候需要设置完全,最好是设置到方法级别。laravel 实现微博第三方登陆

2:Composer安装:

composer require socialiteproviders/weibo

添加 Service Provider  config/app.php 如果之前添加过 Socialite Provider,得先注释掉:

'providers' => [
//    Laravel\Socialite\SocialiteServiceProvider::class,
    SocialiteProviders\Manager\ServiceProvider::class, // add
],

添加 Facades Aliase  config/app.php

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

添加事件处理器 文件 app/Providers/EventServiceProvider.php

 protected $listen = [
        'SocialiteProviders\Manager\SocialiteWasCalled' => [
            'SocialiteProviders\Weibo\[email protected]',
        ],
    ];

添加路由  可以自己创建控制器

// 引导用户到新浪微博的登录授权页面
Route::get('auth/weibo', 'Auth\[email protected]');
// 用户授权后新浪微博回调的页面
Route::get('auth/callback', 'Auth\[email protected]');

配置 文件 config/services.php

'weibo' => [
    'client_id' => env('WEIBO_KEY'),
    'client_secret' => env('WEIBO_SECRET'),
    'redirect' => env('WEIBO_REDIRECT_URI'),  
],

代码实现: 

<?php

namespace App\Http\Controllers\Auth;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class AuthController extends Controller
{
     //获取微博登录页面
     public function weibo() {
        return \Socialite::with('weibo')->redirect();
        // return \Socialite::with('weibo')->scopes(array('email'))->redirect();
    }

    //获取登录用户信息
    public function callback() {
        $oauthUser = \Socialite::with('weibo')->user();

        var_dump($oauthUser->getId());
        var_dump($oauthUser->getNickname());
        var_dump($oauthUser->getName());
        var_dump($oauthUser->getEmail());
        var_dump($oauthUser->getAvatar());
    }
}

 访问路由,效果如下

laravel 实现微博第三方登陆

相关文章:

  • 2021-09-17
  • 2022-01-25
  • 2021-05-19
  • 2022-12-23
  • 2022-02-11
  • 2021-09-04
猜你喜欢
  • 2021-04-08
  • 2021-11-29
  • 2021-12-02
  • 2021-11-17
  • 2022-12-23
  • 2022-12-23
  • 2021-07-24
相关资源
相似解决方案