laradevs / authremote
这是一个允许通过OAuth 2.0在Laravel应用程序中执行和管理认证控制的组件。
v1.1
2020-04-13 17:17 UTC
Requires
- php: >=7.2
- ext-curl: *
- ext-json: *
- guzzlehttp/guzzle: ^6.5
- illuminate/support: ^5.8|6.*|7.*
- socialiteproviders/laravelpassport: ^1.0
Requires (Dev)
- orchestra/testbench: ^3.5|^4.0|^5.0|^6.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-14 05:24:50 UTC
README
AUTH REMOTE
这是一个允许通过OAuth 2.0在Laravel应用程序中执行和管理认证控制的组件。
安装
您可以通过Composer安装此包
$ composer require laradevs/authremote
接下来,您必须注册服务提供者(可选)
// config/app.php 'Providers' => [ // ... \LaraDevs\AuthRemote\MainServiceProvider::class, ]
接下来,您必须发布配置文件以定义OAuth服务器凭据
php artisan vendor:publish --provider="LaraDevs\AuthRemote\MainServiceProvider"
这是发布文件的內容
return [ 'uri' => env('USER_PROVIDER_REST_URL', ''), 'name_session_rest' => 'token_oauth', 'headers' => [], 'route_not_session'=>'start_route' ];
在.env
文件中设置您的URL Rest
APP_NAME="Laravel"
# ...
USER_PROVIDER_REST_URL=putYourRestURL
在Array Services中添加
'laravelpassport' => [ 'client_id' => env('LARAVELPASSPORT_KEY','http://YOUR_ROUTE_HOST_SERVER/api/user'), 'client_secret' => env('LARAVELPASSPORT_SECRET'), 'redirect' => env('LARAVELPASSPORT_REDIRECT_URI'), 'host'=> env('LARAVELPASSPORT_HOST') ]
在方法render中添加Handle Exception
if ($exception instanceof \LaraDevs\AuthRemote\RestException) { return redirect()->route(config('rest-provider.route_not_session')); }
在Array Auth中添加
'providers' => [ 'users' => [ 'driver' => 'rest-users', 'model' => \LaraDevs\AuthRemote\User::class ], ]
自动发布登录 & 注销路由
Route::get('/auth-remote/{provider}', '\LaraDevs\AuthRemote\ActionsController@redirectToProvider')->name('laravel_passport'); Route::get('/auth-remote/{provider}/callback', '\LaraDevs\AuthRemote\ActionsController@handleProviderCallback'); Route::post('/auth-remote-logout','\LaraDevs\AuthRemote\ActionsController@logout')->name('laravel_passport.logout');
为初始路由添加路由名称
Route::get('/', function () { return view('welcome'); })->name(config('rest-provider.route_not_session'));