用户认证 Framgia

dev-master 2017-08-07 03:16 UTC

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

欢迎提交拉取请求。