trandinhvi39 / fauth
用户认证 Framgia
Requires (Dev)
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.0|~5.0
This package is not auto-updated.
Last update: 2024-09-29 03:11:04 UTC
README
安装
将以下内容添加到您的 composer.json 中
"repositories": [
{
"url": "https://github.com/trandinhvi39/fauth",
"type": "git"
}
],
"require": {
"trandinhvi39/fauth" : "dev-master"
}
运行以下命令: composer update
配置
安装 Fauth 库后,在您的 config/app.php 配置文件中注册 Trandinhvi39\Fauth\FAuthServiceProvider: Trandinhvi39\Fauth\FAuthServiceProvider::class,
此外,将 Fauth 门面添加到您的应用程序配置文件中的别名数组中: 'Fauth' => Trandinhvi39\Fauth\Facades\Fauth::class,
您还需要添加应用程序使用的 OAuth 服务的凭据。这些凭据应放在您的 config/services.php 配置文件中,并使用 framgia 作为 framgia 提供者的键。例如
'framgia' => [
'client_id' => 'your-auth-framgia-app-id',
'client_secret' => 'your-auth-framgia-app-secret',
'base_url' => 'http://domain-auth-server',
'redirect' => 'http://your-callback-url',
],
将以下内容添加到您的 composer.json(autoload-dev -> psr-4) "Trandinhvi39\\Fauth\\": "vendor/trandinhvi39/fauth/"
运行以下命令: composer dump-autoload
基本用法
接下来,您已准备好对用户进行认证!您需要两个路由:一个用于将用户重定向到 OAuth 提供商,另一个用于在认证后接收提供商的回调。我们将通过 Fauth 门面访问 Fauth
<?php
namespace App\Http\Controllers\Auth;
use Fauth;
class LoginController extends Controller
{
/**
* Redirect the user to the Auth-Framgia authentication page.
*
* @return Response
*/
public function redirectToProvider()
{
return Fauth::driver('framgia')->redirect();
}
/**
* Obtain the user information from Auth-Framgia.
*
* @return Response
*/
public function handleProviderCallback()
{
$user = Fauth::driver('framgia')->user();
}
}
当然,您需要定义路由到您的控制器方法
Route::get('login/framgia', 'Auth\LoginController@redirectToProvider');
Route::get('login/framgia/callback', 'Auth\LoginController@handleProviderCallback');
一旦您有用户实例,您可以获取有关用户的更多详细信息
$user = Fauth::driver('framgia')->user();
$token = $user->token;
$refreshToken = $user->refreshToken; // not always provided
$expiresIn = $user->expiresIn;
如果您已经有用户的有效访问令牌,您可以使用 userFromToken 方法检索他们的详细信息
$user = Fauth::driver('framgia')>userFromToken($token);