futureed / oauth2
FutureED OAuth2 提供使用 OAuth2 协议进行授权所需的逻辑。此包专门为 FutureED 平台及其衍生品设计。
Requires
- php: >=5.5
- guzzlehttp/guzzle: ^6.1
This package is not auto-updated.
Last update: 2024-09-26 00:26:52 UTC
README
介绍
FutureED OAuth2 提供使用 OAuth2 协议进行授权所需的逻辑。此包专门为 FutureED 平台及其衍生品设计。
======
许可证
FutureED OAuth2 是基于 MIT 许可证的开放源代码软件。
======
官方文档
除了基于表单的典型认证外,Laravel 还通过 FutureED OAuth2 提供了一种简单方便的方式,使用 OAuth 提供商进行认证。这种实现允许执行 FutureED 平台衍生应用的登录和访问。
要安装,请将以下依赖添加到您的 composer.json
文件中
composer require futureed/oauth2
======
配置
安装 FutureED/OAuth2 库后,在您的 config/app.php
配置文件中注册以下 ServiceProvider
'providers' => [
// Proveedores de servicios instalados
FutureED\OAuth2\FutureEDServiceProvider::class,
],
此外,将 FutureED facade 添加到配置文件中的别名数组
'FutureED' => FutureED\OAuth2\Facades\FutureED::class,
在 config/services.php
文件中注册以下服务
'FutureED' => [
'client_id' => env('FUTUREED_CLIENT_ID'),
'client_secret' => env('FUTUREED_CLIENT_SECRET'),
'redirect' => env('FUTUREED_REDIRECT'),
],
最后,在环境文件(.env
)中,将 FutureED 开发者面板提供的凭据放在适当位置
FUTUREED_CLIENT_ID=ID_ASIGNADO
FUTUREED_CLIENT_SECRET=SECRET_ASIGNADO
FUTUREED_REDIRECT_URI=URL_DE_REDIRECCION #Esta URL debe concidir con la ruta generada por Route::get('/oauth/callback', 'Auth\AuthController@callback');
======
基本使用
需要两个路由:一个用于将用户重定向到 OAuth 提供商,另一个用于在授权后接收响应:在您的 app/Http/routes.php
文件中
<?php Route::group(['middleware' => ['web']], Route::get('/oauth/futureed', [ 'as' => 'redirectToFutureED', 'uses' => 'Auth\AuthController@redirectToFutureED' ]); Route::get('/oauth/callback', 'Auth\AuthController@callback'); );
在您的控制器中
<?php namespace App\Http\Controllers; use FutureED; use Illuminate\Http\Request; class AuthController extends Controller { /** * Redirecciona al usuario a la pagina de autenticación de FutureED. * * @return Response */ public function redirectToFutureED() { return FutureED::driver('FutureED')->redirect(); } /** * Obtiene la informacion del usuario de FutureED. * * @return Response */ public function callback(Request $request) { $user = FutureED::driver('FutureED')->user($request); // $user->token; } }
请注意,路由、方法和控制器的名称可能根据您的需求而有所不同。
获取用户详情
一旦响应成功,可以通过以下方式访问用户信息
$user->email; // obtiene el correo electronico del usuario en formato de cadena de texto
$user->getEmail(); // obtiene el correo electronico del usuario en formato de cadena de texto.
其他获取的属性
$user->id;
$user->token;
$user->nickname;
$user->first_name;
$user->last_name;
$user->email;
$user->avatar;