futureed/oauth2

FutureED OAuth2 提供使用 OAuth2 协议进行授权所需的逻辑。此包专门为 FutureED 平台及其衍生品设计。

安装: 80

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放性问题: 0

类型:package

v1.0.3.4 2016-09-27 13:55 UTC

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;