Resultados de la búsqueda :

×

Inicio de sesión único (SSO) de OAuth para Laravel utilizando Laravel Passport como proveedor de OAuth

Inicio de sesión único (SSO) de OAuth para Laravel utilizando Laravel Passport como proveedor de OAuth


Inicio de sesión único de Laravel OAuth (SSO) brinda la posibilidad de habilitar el inicio de sesión único de OAuth para sus aplicaciones laravel. Al utilizar el inicio de sesión único, puede usar solo una contraseña para acceder a su aplicación y servicios de laravel. Nuestro complemento es compatible con todos los proveedores de identidad compatibles con OAuth. Aquí repasaremos una guía paso a paso para configurar el inicio de sesión único (SSO) entre Laravel y Laravel Passport considerando Laravel Passport como proveedor de OAuth. Para saber más sobre otras funciones que ofrecemos en el complemento de inicio de sesión único del cliente Laravel OAuth, puede haga clic aquí.

Instalación del cliente Laravel Oauth

  • Abra una ventana del símbolo del sistema y cambie el directorio de trabajo a su Directorio principal de la aplicación Laravel e instale el complemento Laravel OAuth usando el siguiente comando.
  • composer require miniorange/oauth-laravel-free
  • Después de la instalación exitosa del paquete, vaya a su aplicación Laravel en el navegador e ingrese {laravel-application-domain}/mo_oauth_admin
  • El paquete comenzará a configurar su base de datos y luego lo redirigirá a la página de registro de administrador.
  • Regístrese o inicie sesión con su cuenta miniOrange para configurar el complemento.
  • Configuración del complemento SSO de inicio de sesión único de Laravel
  • Después de iniciar sesión, verá el Configuración del proveedor de OAuth opción, donde obtendrás el URL de redireccionamiento/devolución de llamada. Téngalo a mano, ya que será necesario más adelante para configurar el inicio de sesión único (SSO) de Laravel Passport.
  • Configuración del cliente SSO OAuth de inicio de sesión único de Laravel

Pasos para configurar el inicio de sesión único (SSO) de Laravel Passport en Laravel

1. Configure Laravel Passport como proveedor de OAuth

  • Instale el pasaporte laravel usando el siguiente comando
  • composer require laravel/passport
  • Ve a config/aplicación.php y agregue el siguiente proveedor
  • Laravel\Passport\PassportServiceProvider::class
  • Ejecutar php artesano migrar comando
  • Ejecutar pasaporte artesanal php: instalar comando
  • Ve a aplicación/Modelos/Usuario.php clase de modelo, agregar HasApiTokens rasgo al 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',
            ];
        }
        
        
        
  • Para Laravel versión 9.0 a continuación: Ve a aplicación/Providers/AuthServiceProvider.php, Añade utilizar Laravel\Pasaporte\Pasaporte; , Pasaporte::rutas(); Las rutas al código de servicio se detallan a continuación:
  •     
        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();
                //
            }
        }
        
  • Ve a configuración/auth.php cambiar el abejas 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,
                ],
            ],
        
  • Para crear un punto final UserInfo manualmente, en el aplicación / Http / Controladores, crea un archivo Controlador de usuario.php:
  • 
        <?php
        namespace App\Http\Controllers;
        use App\Http\Controllers\Controller;
        use Illuminate\Http\Request;
        use App\Models\User;
        use Auth;
        class UserController extends Controller
        {
            public function get(Request $request)
            {
              $user_id = Auth::id();
              $user = User::find($user_id);
              return $user;
            }
        }
        
  • Además, registre la ruta API agregando la siguiente línea en rutas/api.php archivo:
  • 
        //For Laravel below 8 and migrated to the 8 version:
        Route::middleware('auth:api')->get('/user/get', 'UserController@get');
         

    OR

    
        //For Laravel 8 new users:
        use App\Http\Controllers\UserController;                                                                       
         Route::middleware('auth:api')->get('/user/get', 'App\Http\Controllers\UserController@get');
        
  • 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]
         
        > Click Here to copy the Redirect URL.
          
        New client created successfully.
        
        Client ID: 1
        Client secret: zMm0tQ9Cp7LbjK3QTgPy1pssoT1X0u7sg0YWUW01
        


2. Configure el complemento del cliente Laravel OAuth para Laravel Passport

  • Visite la miniOrange Laravel OAuth SSO complemento y haga clic en Elija Laravel Passport como proveedor de OAuth.
  • Aplicación de selección SSO de inicio de sesión único de Laravel
  • Escriba la ID de cliente y Secreto del cliente del pasaporte laravel Aplicación.
  • Configuración de guardado de SSO de inicio de sesión único de Laravel
  • Consulte la siguiente tabla para configurar el Lo que hacemos y Endpoints .
  • Alcance: Deje el campo Alcance vacío
    Autorizar punto final: http://your-laravel-site-url/oauth/authorize
    Punto final del token de acceso: http://your-laravel-site-url/oauth/token
    Obtener punto final de información de usuario: http://your-laravel-site-url/api/user/get
  • Puede enviar las credenciales del cliente en encabezamiento or cuerpo y también enviar estado parámetro en consecuencia también introduzca atributo de inicio de sesión según su requerimiento.
  • Aplicación de selección SSO de inicio de sesión único de Laravel
  • Haga clic en guardar ajustes botón. Después de eso, haga clic en configuración de prueba botón. Obtendrá la lista de nombres de atributos y valores de atributos enviados por su proveedor de OAuth.
  • Configuración de guardado de SSO de inicio de sesión único de Laravel

3. Opciones de inicio de sesión único

  • También puede utilizar un enlace para iniciar sesión a través de su proveedor de OAuth/OpenID.
  • Este enlace está en el formato:
    {laravel-application-domain}/ssologin.php?option=oauthredirect

En esta guía, ha configurado correctamente Inicio de sesión único (SSO) de Laravel Passport usando Laravel como cliente OAuth. Esta solución garantiza que esté listo para implementar un acceso seguro a su sitio Laravel utilizando Inicio de sesión con pasaporte Laravel credenciales en cuestión de minutos.

Recursos adicionales

¡Hola!

¿Necesitas ayuda? ¡Estamos aquí!

SOPORTE
Póngase en contacto con el soporte técnico de miniOrange
comercial

Gracias por su consulta.

Si no recibe noticias nuestras dentro de las 24 horas, no dude en enviar un correo electrónico de seguimiento a info@xecurify.com