media24si/simple-oauth2

此包已废弃且不再维护。没有建议的替代包。

Laravel 5 简单 OAuth2

dev-master 2022-02-15 09:21 UTC

This package is auto-updated.

Last update: 2022-03-15 09:26:00 UTC


README

Laravel5 Simple OAuth2 Server 包

Software License

这是一个非常简单的 OAuth2 包,可用于您的 Laravel5 应用。该包是对 oauth2-php 库的包装,并受到 FOSOAuthServerBundle 的启发。

当前功能

待办事项

安装

使用以下命令通过 composer (Packagist) 安装此包

$ composer require media24si/simple-oauth2

将 SimpleOAuth2ServiceProvider 注册到 config/app.php 中的 providers 数组

Media24si\SimpleOAuth2\SimpleOAuth2ServiceProvider::class,

发布供应商文件

$ php artisan vendor:publish

迁移您的数据库

$ php artisan migrate

创建生成令牌的路由

$ Route::any('/token', '\Media24si\SimpleOAuth2\Http\Controllers\TokenController@token');

如果您想使用授权码或隐式授权类型,请向路由添加 authore 控制器

Route::any('/authorize', ['middleware' => 'auth','uses' => '\Media24si\SimpleOAuth2\Http\Controllers\AuthorizeController@authorize']);

用法

配置

在发布供应商文件时,simpleoauth2.php 配置文件将被复制到 config 文件夹。当前唯一的配置选项是

  • 用户名字段
  • 密码字段
  • 附加条件

SimpleOAuth2 使用 Auth::attempt 来验证用户。

中间件

该包包含一个中间件。要使用它,您需要在 app\Http\Kernel.php 中的 $routeMiddleware 下注册

'oauth' => '\Media24si\SimpleOAuth2\Http\Middleware\SimpleOAuth2'

然后在您的路由中请求一个有效的 OAuth2 令牌

Route::get('/protected', ['middleware' => ['oauth'], function() { return 'Protected resource'; }]);

因为 SimpleOAuth2 使用 Laravel 认证包,您可以使用 OAuth 请求认证用户

Route::get('/protected', ['middleware' => ['oauth', 'auth'], function() { return 'Protected resource with valid user'; }]);

Artisan 命令

oauth2:create-client

$ php artisan oauth2:create-client {client_name}

创建一个新的 OAuth2 客户端。有关所有选项,请参阅帮助

$ php artisan help oauth2:create-client {client_name}

oauth2:list-clients

$ php artisan oauth2:list-clients

列出所有 OAuth2 客户端。

授权类型

授权码和隐式

要使用授权代码或隐式授权类型,您必须提供身份验证中间件,以便用户可以登录。您可以通过实现自己的动作和视图来自定义授权。

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。