dejc/passport-socialite

Passport 的社交认证驱动器

0.3.2 2020-12-20 19:30 UTC

This package is not auto-updated.

Last update: 2024-09-24 11:57:49 UTC


README

Packagist License Latest Stable Version Build Status

用于通过 Laravel Passport OAuth 服务器进行认证的 Laravel Socialite 驱动器。

安装

可以使用 Composer 安装此包。如果尚未安装,则会同时安装 Socialite 包。

composer require matt-allan/passport-socialite

配置

在使用此驱动器之前,您需要为 Passport 服务器添加凭据。这些凭据应放置在您的 config/services.php 配置文件中,并使用键 passport。例如

'passport' => [
    'client_id' => env('PASSPORT_CLIENT_ID'),
    'client_secret' => env('PASSPORT_CLIENT_SECRET'),
    'url' => env('PASSPORT_URL'),
    'redirect' => env('PASSPORT_REDIRECT'),
],

使用方法

Passport 驱动器的工作方式与其它 Socialite 驱动器相同。所有在 官方文档 中提到的方法都可用。

您可以使用 Socialite 外观访问 passport 驱动器

<?php

namespace App\Http\Controllers\Auth;

use Socialite;

class LoginController extends Controller
{
    /**
     * Redirect the user to the Passport server's authentication page.
     *
     * @return \Illuminate\Http\Response
     */
    public function redirectToProvider()
    {
        return Socialite::driver('passport')->redirect();
    }

    /**
     * Obtain the user information from the Passport server.
     *
     * @return \Illuminate\Http\Response
     */
    public function handleProviderCallback()
    {
        $user = Socialite::driver('passport')->user();

        // $user->token;
    }
}

当前用户的详细信息将从默认的 api/user 路由检索。

除了标准的 Socialite 方法外,还有一个 refresh 方法可用于轻松刷新过期的令牌。如果令牌成功刷新,则 refresh 方法接受一个刷新令牌并返回一个更新后的 User 对象,其中包含新的访问令牌和刷新令牌。

$user = Socialite::driver('passport')->refresh($refreshToken);

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

测试

$ composer test

贡献

请参阅 CONTRIBUTING 了解详情。

鸣谢

许可协议

MIT 许可协议 (MIT)。请参阅 许可文件 了解更多信息。