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);
}
}