PHP code example of huoshaotuzi / sociate

1. Go to this page and download the library: Download huoshaotuzi/sociate library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

huoshaotuzi / sociate example snippets


php artisan vendor:publish --provider="Huoshaotuzi\Sociate\SociateServiceProvider"



namespace App\Http\Controllers;

use Huoshaotuzi\Sociate\Sociate;

class TestController extends Controller
{
    public function test()
    {
        $class = new Sociate();
        // 支持两个参数: getVerifyUrl($scpoe = 'snsapi_userinfo', $state = '')
        $url = $class->driver('wechat')->getVerifyUrl();
        echo '<a href="' . $url . '">点击跳转</a>';
    }

    public function auth()
    {
        $class = new Sociate();
        $driver = $class->driver('wechat');
        $token = $driver->getAccessToken(request('code'));

        $user = $driver->getUserInfo($token);
        dd($token, $user);
    }
}

php artisan make:controller Oauth/OauthController

public function qq()
{
    $driver = app('sociate')->driver('qq');
    $response = $driver->getAccessToken();
    $info = $driver->getUserInfo($response);
    // 如果需要调用到其他接口,此处需要保存 access_token
    // dd($response);
    // 此处为逻辑处理:存储用户资料或根据 uid 判断用户是否已绑定账号
    $user = ...
    // 设置为登录状态
    Auth::login($user, true);
    // 重定向到登录前页面
    return redirect(request('state'));
}

public function github()
{
    $driver = app('sociate')->driver('github');
    $response = $driver->getAccessToken();
    $info = $driver->getUserInfo($response);

    dd($response, $info);
}

public function weibo()
{
    $driver = app('sociate')->driver('qq');
    $response = $driver->getAccessToken();
    $info = $driver->getUserInfo($response);

    dd($response, $info);
}

public function baidu()
{
    $driver = app('sociate')->driver('baidu');
    $response = $driver->getAccessToken();
    $info = $driver->getUserInfo($response);

    dd($response, $info);
}



namespace App\Http\Controllers\Oauth;

use App\Http\Controllers\Controller;
use Huoshaotuzi\Sociate\Sociate;

class OauthController extends Controller
{
    // 授权回调页路由的方法
    public function qq()
    {
        $sociate = new Sociate();
        $driver = $sociate->driver('qq');
        $accessToken = $driver->getAccessToken();
        $user = $driver->getUserInfo($accessToken);
        dd($user);
    }
}