Résultats de recherche :

×

Laravel Passport OAuth et OpenID connectent l'authentification unique (SSO) | Connexion SSO au passeport Laravel

Laravel Passport OAuth et OpenID connectent l'authentification unique (SSO) | Connexion SSO au passeport Laravel


Obtenir un essai gratuit

Le plugin WordPress OAuth & OpenID Connect Single Sign-On (SSO) permet une connexion sécurisée à WordPress en utilisant Laravel Passport comme fournisseur OAuth et OpenID Connect. Vous pouvez également configurer le plugin en utilisant différents fournisseurs personnalisés et IDP standard. Il prend en charge les fonctionnalités avancées d'authentification unique (SSO) telles que le mappage des attributs du profil utilisateur, le mappage des rôles, etc. Nous passerons ici en revue un guide pour configurer le SSO entre WordPress et Laravel Passport. À la fin de ce guide, les utilisateurs devraient pouvoir se connecter à WordPress depuis Laravel Passport. Pour en savoir plus sur les autres fonctionnalités que nous proposons dans le plugin WP OAuth Single Sign-On (OAuth & OpenID Connect Client), vous pouvez cliquez ici .

Pré-requis : Téléchargement Et Installation


  • Connectez-vous à votre instance WordPress en tant qu'administrateur.
  • Aller sur WordPress Tableau de bord -> Plugins et cliquez sur Ajouter un nouveau véhicule .
  • Rechercher un WordPress Authentification unique OAuth (SSO) plugin et cliquez sur Installer maintenant.
  • Une fois installé cliquez sur Activer.

Étapes pour configurer la connexion à authentification unique (SSO) Laravel Passport dans WordPress

1. Configurer Laravel Passport en tant que fournisseur OAuth

  • Créez un projet Laravel sur votre machine locale à l'aide de la commande et configurez-le :
  • composer create-project --prefer-dist blog laravel/laravel

  • Changez le répertoire en blog en utilisant blog de cd commande. Installer le passeport Laravel
  • le compositeur a besoin de laravel/passeport

  • Allez dans config/app.php et ajoutez le fournisseur ci-dessous
  • Laravel\Passport\PassportServiceProvider :: classe

  • Courir php artisan migrer commander
  • Courir Passeport artisan php : installer commander
  • Cliquez sur app/Utilisateur.php classe de modèle, ajouter HasApiTokens trait du code :
  • 
         
        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',
            ];
        }
        
        
        
  • Cliquez sur app/Providers/AuthServiceProvider.php, ajouter utilisez Laravel\Passport\Passport ; , Passeport :: routes (); les itinéraires vers le code de service sont indiqués ci-dessous :
  •     
        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();
                //
            }
        }
        
  • Cliquez sur config/auth.php changer la api jeton de conducteur à passeport car nous allons utiliser la bibliothèque Passport.
  • 
        'guards' => [
                'web' => [
                    'driver' => 'session',
                    'provider' => 'users',
                ],
                'api' => [
                    'driver' => 'passport',
                    'provider' => 'users',
                    'hash' => false,
                ],
            ],
        
  • Pour obtenir identité du client ainsi que les Secret client exécutez les commandes suivantes : Passeport artisan php : client Il vous posera les questions suivantes :
  • 
         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
        

  • Pour créer manuellement un point de terminaison UserInfo, dans le app/Http/Contrôleurs, créez un fichier UserController.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;
            }
        }
        
  • Enregistrez également la route API en ajoutant la ligne ci-dessous dans routes/api.php fichier:
  • 
        //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');
        

Vous avez configuré avec succès Laravel Passport en tant que fournisseur OAuth pour obtenir la connexion Laravel Passport à votre site WordPress.


2. Configurez WordPress en tant que client OAuth

  • Cliquez sur Configurer OAuth onglet et configurer Nom de l'application, ID client, secret client de fourni Points de terminaison.
  • Veuillez vous référer au tableau ci-dessous pour configurer le portée et points de terminaison pour Laravel Passport dans le plugin.


    Identité du client : à partir de l'étape 3 ci-dessus
    Secret client : à partir de l'étape 3 ci-dessus
    Autoriser le point de terminaison : http://your-laravel-site-url/oauth/authorize
    Point de terminaison du jeton d’accès : http://your-laravel-site-url/oauth/token
    Obtenir le point de terminaison des informations utilisateur : http://your-laravel-site-url/api/user/get
  • Cliquez sur Enregistrer les paramètres pour enregistrer la configuration.
  • Laravel Passport Single Sign-On (SSO) OAuth/OpenID WordPress configurer les points de terminaison

Vous avez configuré avec succès WordPress comme client OAuth pour obtenir la connexion Laravel Passport à votre site WordPress.


3. Mappage des attributs utilisateur

  • Le mappage des attributs utilisateur est obligatoire pour permettre aux utilisateurs de se connecter avec succès à WordPress. Nous allons configurer les attributs du profil utilisateur pour WordPress en utilisant les paramètres ci-dessous.
  • Recherche d'attributs utilisateur

    • Cliquez sur Configurer OAuth languette. Faites défiler vers le bas et cliquez sur Configuration du test.
    • Configuration de test WordPress OAuth/OpenID d'authentification unique (SSO) Laravel Passport
    • Vous verrez toutes les valeurs renvoyées par votre fournisseur OAuth à WordPress dans un tableau. Si vous ne voyez pas de valeur pour Prénom, Nom, E-mail ou Nom d'utilisateur, définissez les paramètres requis dans votre fournisseur OAuth pour renvoyer ces informations.
    • Résultat de la configuration du test Laravel Passport Single Sign-On (SSO) OAuth/OpenID WordPress
    • Une fois que vous voyez toutes les valeurs dans la configuration du test, accédez à Mappage d’attributs/rôles , vous obtiendrez la liste des attributs dans une liste déroulante Nom d'utilisateur.
    • Laravel Passport Single Sign-On (SSO) OAuth/OpenID Mappage d'attributs/rôles WordPress

4 : Cartographie des rôles [Premium]

  • Cliquez sur « Configuration des tests » et vous obtiendrez la liste des noms d'attribut et des valeurs d'attribut envoyés par votre fournisseur OAuth.
  • Dans la fenêtre Configuration du test, mappez les noms d'attribut dans la section Mappage d'attributs du plugin. Reportez-vous à la capture d'écran pour plus de détails.
  • Laravel Passport Single Sign-On (SSO) - mappage d'attributs
  • Activer le mappage de rôles : Pour activer le mappage de rôle, vous devez mapper l'attribut de nom de groupe. Sélectionnez le nom de l'attribut dans la liste des attributs qui renvoie les rôles de votre application fournisseur.
    Par exemple: Rôle

  • Laravel Passport Single Sign-On (SSO) - configuration de test - mappage de rôles
  • Attribuez le rôle WordPress au rôle Fournisseur : En fonction de votre application de fournisseur, vous pouvez attribuer le rôle WordPress à vos rôles de fournisseur. Il peut s'agir d'un étudiant, d'un enseignant, d'un administrateur ou de tout autre selon votre candidature. Ajoutez les rôles de fournisseur sous Valeur d'attribut de groupe et attribuez le rôle WordPress requis devant celui-ci sous Rôle WordPress.

    Par exemple, dans l'image ci-dessous. L'enseignant s'est vu attribuer le rôle d'administrateur et l'étudiant se voit attribuer le rôle d'abonné.
  • Laravel Passport Single Sign-On (SSO) - configuration de test - mappage de rôles
  • Une fois le mappage enregistré, le rôle de fournisseur se verra attribuer le rôle d'administrateur WordPress après SSO.
    Mise en situation : Selon l'exemple donné, les utilisateurs avec le rôle « enseignant » seront ajoutés en tant qu'administrateur dans WordPress et « étudiant » sera ajouté en tant qu'abonné.

5. Paramètres de connexion

  • Les paramètres de l'onglet Paramètres d'authentification unique (SSO) définissent l'expérience utilisateur pour l'authentification unique (SSO). Pour ajouter un widget de connexion Laravel sur votre page WordPress, vous devez suivre les étapes ci-dessous.
    • Cliquez sur Panneau de gauche WordPress > Apparences > Widgets.
    • Sélectionnez miniOrange OAuth. Faites glisser et déposez vers votre emplacement préféré et enregistrez.
    • Laravel Single Sign-on (SSO) - Paramètre du bouton de connexion WordPress de création d'un nouveau client
    • Cliquez sur Panneau de gauche WordPress > Apparences > Widgets.
    • Sélectionnez miniOrange OAuth. Faites glisser et déposez vers votre emplacement préféré et enregistrez.
    • Laravel Single Sign-on (SSO) - Paramètre du bouton de connexion WordPress de création d'un nouveau client
    • Ouvrez votre page WordPress et vous pourrez y voir le bouton de connexion Laravel SSO. Vous pouvez maintenant tester l'authentification unique (SSO) de Laravel.
    • Assurez-vous que le "Afficher sur la page de connexion" L’option est activée pour votre application. (Reportez-vous à l'image ci-dessous)
    • Laravel Single Sign-on (SSO) - Paramètre du bouton de connexion WordPress de création d'un nouveau client
    • Maintenant, allez à votre WordPress Login . (Par exemple https://<votre-domaine-wordpress>/wp-login.php)
    • Vous y verrez un bouton de connexion Laravel SSO. Une fois que vous aurez cliqué sur le bouton de connexion, vous pourrez tester l'authentification unique Laravel (SSO).
    • Laravel Single Sign-on (SSO) - Paramètre du bouton de connexion WordPress de création d'un nouveau client
Dans ce guide, vous avez configuré avec succès Authentification unique (SSO) du passeport Laravel en configurant Laravel Passport en tant que fournisseur OAuth et WordPress en tant que client OAuth à l'aide de notre plugin WP OAuth Single Sign-On (OAuth & OpenID Connect Client). Cette solution garantit que vous êtes prêt à déployer un accès sécurisé à votre site WordPress à l'aide des informations de connexion Laravel Passport en quelques minutes.


Ressources additionnelles


Envoyez-nous un e-mail oauthsupport@xecurify.com pour des conseils rapides (par e-mail/réunion) sur vos besoins et notre équipe vous aidera à sélectionner la solution/le plan le mieux adapté à vos besoins.

Bonjour!

Besoin d'aide? Nous sommes ici !

Support
Contacter l'assistance miniOrange
succès

Merci pour votre demande.

Si vous n'avez pas de nouvelles de nous dans les 24 heures, n'hésitez pas à envoyer un e-mail de suivi à info@xecurify.com