Resultados de la búsqueda :

×

Integración del cliente Joomla OAuth con inicio de sesión único (SSO) de Laravel Passport


Integración de Inicio de sesión único de Laravel Passport (Laravel Passport SSO) con Joomla usando OAuth 2.0 Protocolo. El complemento de inicio de sesión único (SSO) miniOrange Joomla OAuth / OpenID Connect simplifica la configuración SSO del pasaporte Laravel en Joomla y habilite el inicio de sesión seguro en Joomla. Como resultado, los usuarios pueden iniciar sesión en Joomla y acceder al sitio autenticándose con sus credenciales de proveedor Laravel Passport OAuth.
Visita nuestra página Complemento de cliente Joomla OAuth página web para obtener más información sobre las funciones y planes que ofrecemos para el complemento Joomla OAuth Single Sign-on (OAuth y OpenID connect).

Requisitos previos: descarga e instalación


  • Inicie sesión en su sitio Joomla Administradora consola.
  • Desde el menú de alternancia de la izquierda, haga clic en Sistema, luego en la sección Instalar haga clic en Prórrogas de tiempo para presentar declaraciones de impuestos.
  • Ahora haga clic en O buscar archivo para localizar e instalar el archivo del complemento descargado anteriormente.
  • La instalación del complemento se realizó correctamente. Ahora haga clic en Comience a utilizar el complemento miniOrange OAuth Server.
  • En la sección Configurar OAuth pestaña, haga clic en ADD .
Introducción a la configuración del servidor OAuth

Pasos para configurar OAuth SSO en Joomla

1. Configurar URL de devolución de llamada/redireccionamiento

  • Después de seleccionar su proveedor de OAuth, será redirigido al Paso 1 [URL de redireccionamiento] pestaña. Ahora copia el URL de devolución de llamada/redireccionamiento que usaremos para configurar el servidor OAuth, luego haga clic en el Guardar y siguiente .
  • SSO de inicio de sesión único de OAuth en Joomla: copiar URL de redireccionamiento
  • Descargar Pasaporte Laravel.
  • Cree un proyecto laravel en su máquina usando el comando y configúrelo:
  • composer create-project --prefer-dist laravel/laravel blog
  • Instalar el pasaporte Laravel
  • composer require Laravel/Passport
  • Vaya a config/app.php y agregue la siguiente clase en, sección de proveedor en el archivo app.php
  • Laravel\Passport\PassportServiceProvider::class,
  • Ejecutar php artesano migrar comando
  • Ejecutar pasaporte artesanal php: instalar comando
  • Vaya al aplicación/Usuario.php clase de modelo, agregar HasApiTokens rasgo del código: -
  • namespace App;
    use Laravel\Passport\HasApiTokens;
    use Illuminate\Contracts\Auth\MustVerifyEmail;
    use Illuminate\Foundation\Auth\User as Authenticatable;
    use Illuminate\Notifications\Notifiable;
    class User extends Authenticatable
    {
    use HasApiTokens, Notifiable;
    /**
    * The attributes that are mass assignable.
    *
    * @var array
    */

    protected $fillable = [ 'name', 'email', 'password', ];
    /**
    * The attributes that should be hidden for arrays.
    *
    * @var array
    */

    protected $hidden = [ 'password', 'remember_token', ];
    /**
    * The attributes that should be cast to native types.
    *
    * @var array
    */

    protected $casts = [ 'email_verified_at' => 'datetime', ]; }
  • Ir a este camino app/Providers y abra el archivo AuthServiceProvider.php, add Pasaporte rutas al código de servicio que se proporciona a continuación y guárdelo:
  • namespace App\Providers;
    use Laravel\Passport\Passport;
    use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
    use Illuminate\Support\Facades\Gate;
    class AuthServiceProvider extends ServiceProvider
    {
    /**
    * The policy mappings for the application.
    *
    * @var array
    */

    protected $policies = [ // 'App\Model' => 'App\Policies\ModelPolicy', ];
    /**
    * Register any authentication / authorization services.
    *
    * @return void
    */

    public function boot()
    {
    $this->registerPolicies();
    Passport::routes();
    //
    }
    }
  • Vaya al configuración/auth.php cambiar el API ficha de conductor para pasaporte ya que vamos a utilizar la biblioteca Passport.
  • 'guards' => [
    'web' => [
    'driver' => 'session',
    'provider' => 'users',
    ],
    'api' => [
    'driver' => 'passport',
    'provider' => 'users',
    'hash' => false,
    ],
    ],
  • Ahora configure un recurso de demostración en el que puede crear una ruta API rutas/api.php .
  • Para obtener ID de cliente y Secreto del cliente ejecute los siguientes comandos: pasaporte artesanal php:cliente Le hará las siguientes preguntas:
  • Which user ID should the client be assigned to?:
    > 1
    What should we name the client?:
    > Demo OAuth2 Client Account
    Where should we redirect the request after authorization?
    [http://localhost/auth/callback]:
    > http://localhost/oauth2_client/callback.php
    New client created successfully.
    Client ID: 1
    Client secret: zMm0tQ9Cp7LbjK3QTgPy1pssoT1X0u7sg0YWUW01

  • Para crear un punto final UserInfo manualmente, en el aplicación / Http / Controladores, crea un archivo Controlador de usuario.php:
  • use App\Http\Controllers\Controller;
    use Illuminate\Http\Request;
    use App\User;
    class UserController extends Controller
    {
    public function get(Request $request)
    {
    $user_id = $request->get("uid", 0);
    $user = User::find($user_id);
    return $user;
    }
    }
  • Además, registre la ruta API agregando la siguiente línea en rutas/api.php archivo:
  • Route::middleware('auth:api')->get('/user/get', 'UserController@get');

2. Configure la ID del cliente y Secreto

  • Vaya a la Paso 2 [ID de cliente y secreto] pestaña del complemento Joomla OAuth Client, aquí pegue el ID de cliente, Secreto del cliente y Arrendatarioimportantes. Haz clic en el icono de información del Guardar configuración .
  • SSO de inicio de sesión único de OAuth en Joomla: guardar configuración

2.1. Alcance y puntos finales

  • Ahora puede conectar el cliente OAuth con Laravel Passport (proveedor de OAuth) y los siguientes puntos finales son:
    ( Correr servidor artesanal php en cmd para obtener la URL de su sitio-laravel (Dominio). )
  • Alcance:
    perfil de correo electrónico openid
    Punto final de autorización:
    http://your-laravel-site-url/oauth/authorize
    Punto final del token:
    http://your-laravel-site-url/oauth/token
    Punto final de información de usuario:
    http://your-laravel-site-url/api/user/get
    Establecer credenciales de cliente:
    En ambos (en encabezado y en cuerpo)
  • La asignación de atributos de usuario es obligatoria para permitir que los usuarios inicien sesión correctamente en Joomla. Configuraremos los atributos del perfil de usuario para Joomla utilizando las siguientes configuraciones.
  • Vaya al Paso 3 en el Configurar OAuth pestaña y haga clic en Configuración de prueba .
Subir metadatos de IdP

  • Podrá ver los atributos en la salida de configuración de prueba de la siguiente manera.
Subir metadatos de IdP

  • Ahora seleccione el nombre del atributo para Correo electrónico y nombre de usuario Desde el menú desplegable. Luego haga clic en Finalizar configuración .
Subir metadatos de IdP

  • Ahora ve a Paso 4, aquí copie el URL de inicio de sesión/SSO y agrégalo a tu sitio web.
Subir metadatos de IdP

  • Ahora cierre la sesión y vaya a las páginas de su sitio Joomla donde haya agregado este enlace. Verá un enlace de inicio de sesión donde colocó ese botón. Haga clic en este botón para iniciar sesión.


Has configurado correctamente Joomla como cliente OAuth por lograr Inicio de sesión único (SSO) de Joomla Laravel con Joomla para la autenticación de usuarios.


En esta guía, ha configurado con éxito el inicio de sesión único (SSO) de Joomla Laravel configurando Laravel como proveedor de OAuth y Joomla como cliente OAuth utilizando nuestro complemento Joomla OAuth Client. Esta solución garantiza que esté listo para implementar un acceso seguro a su sitio Joomla utilizando las credenciales de inicio de sesión de Laravel en cuestión de minutos.

Recursos adicionales


Envíenos un correo electrónico a joomlasupport@xecurify.com para obtener orientación rápida (por correo electrónico/reunión) sobre sus necesidades y nuestro equipo le ayudará a seleccionar la mejor solución/plan adecuado según sus necesidades.

¡Hola!

¿Necesitas ayuda? ¡Estamos aquí!

múltiples proveedores