matt-allan/passport-socialite

此包已被弃用,不再维护。未建议替代包。

Passport 的 Socialite 驱动程序

0.4.0 2021-04-30 21:51 UTC

This package is auto-updated.

Last update: 2021-11-30 23:14:57 UTC


README

Packagist License Latest Stable Version

Laravel Socialite 的一个驱动程序,用于通过 Laravel Passport OAuth 服务器进行认证。

安装

可以使用 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)。请参阅 许可文件 以获取更多信息。