media24si / simple-oauth2
此包已废弃且不再维护。没有建议的替代包。
Laravel 5 简单 OAuth2
dev-master
2022-02-15 09:21 UTC
Requires
- php: >=5.4.0
- friendsofsymfony/oauth2-php: ~1.1.0
- laravel/framework: ~5.1
This package is auto-updated.
Last update: 2022-03-15 09:26:00 UTC
README
Laravel5 Simple OAuth2 Server 包
这是一个非常简单的 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)。请参阅许可证文件以获取更多信息。