Suchergebnisse :

×

Laravel Passport OAuth und OpenID verbinden Single Sign-On (SSO) | Laravel Passport SSO-Anmeldung

Laravel Passport OAuth und OpenID verbinden Single Sign-On (SSO) | Laravel Passport SSO-Anmeldung


Kostenlose Testversion erhalten

Das WordPress OAuth & OpenID Connect Single Sign-On (SSO)-Plugin ermöglicht die sichere Anmeldung bei WordPress mit Laravel Passport als OAuth- und OpenID Connect-Anbieter. Sie können das Plugin auch mit verschiedenen benutzerdefinierten Anbietern und Standard-IDPs konfigurieren. Es unterstützt erweiterte Single Sign-On (SSO)-Funktionen wie die Zuordnung von Benutzerprofilattributen, Rollenzuordnung usw. Hier werden wir eine Anleitung zum Konfigurieren von SSO zwischen WordPress und Laravel Passport durchgehen. Am Ende dieses Handbuchs sollten Benutzer in der Lage sein, sich über Laravel Passport bei WordPress anzumelden. Um mehr über andere Funktionen zu erfahren, die wir im WP OAuth Single Sign-On-Plugin (OAuth & OpenID Connect Client) bereitstellen, können Sie hier klicken bitte hier klicken.

Voraussetzungen: Download und Installation


  • Melden Sie sich als Administrator bei Ihrer WordPress-Instanz an.
  • Gehen Sie zu WordPress Dashboard -> Plugins und klicken Sie auf Neu hinzufügen.
  • Suchen Sie nach einem WordPress OAuth Single Sign-On (SSO) Plugin und klicken Sie auf Jetzt installieren.
  • Klicken Sie nach der Installation auf Mehr erfahren.

Schritte zum Konfigurieren der Laravel Passport Single Sign-On (SSO)-Anmeldung bei WordPress

1. Richten Sie Laravel Passport als OAuth-Anbieter ein

  • Erstellen Sie mit dem Befehl ein Laravel-Projekt auf Ihrem lokalen Computer und richten Sie es ein:
  • Composer Create-Project --prefer-dist Laravel/Laravel-Blog

  • Ändern Sie das Verzeichnis in blog using CD-Blog Befehl. Installieren Sie den Laravel-Pass
  • Komponist benötigt Laravel/Reisepass

  • Gehen Sie zu config/app.php und fügen Sie den folgenden Anbieter hinzu
  • Laravel\Passport\PassportServiceProvider::class

  • Führen Sie php artisan migrieren Befehl
  • Führen Sie PHP-Handwerkerpass: installieren Befehl
  • Gehen Sie zu app/User.php Modellklasse, hinzufügen HasApiTokens Merkmal zum 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',
            ];
        }
        
        
        
  • Gehen Sie zu app/Providers/AuthServiceProvider.php, Fügen verwenden Sie Laravel\Passport\Passport; , Passport::routes(); Die Routen zum Servicecode sind unten angegeben:
  •     
        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();
                //
            }
        }
        
  • Gehen Sie zu config/auth.php ändern die Bienen Treiber-Token zu Pass da wir die Passport-Bibliothek verwenden werden.
  • 
        'guards' => [
                'web' => [
                    'driver' => 'session',
                    'provider' => 'users',
                ],
                'api' => [
                    'driver' => 'passport',
                    'provider' => 'users',
                    'hash' => false,
                ],
            ],
        
  • Um Kunden-ID machen Kundengeheimnis Führen Sie folgende Befehle aus: PHP-Handwerker-Pass:Client Es werden Ihnen folgende Fragen gestellt:
  • 
         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
        

  • Um einen UserInfo-Endpunkt manuell zu erstellen, im app/Http/Controllers, erstellen Sie eine Datei 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;
            }
        }
        
  • Registrieren Sie außerdem die API-Route, indem Sie die folgende Zeile hinzufügen Routen/api.php Datei:
  • 
        //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');
        

Sie haben erfolgreich konfiguriert Laravel Passport als OAuth-Anbieter für die Laravel Passport-Anmeldung auf Ihrer WordPress-Site.


2. Richten Sie WordPress als OAuth-Client ein

  • Gehen Sie zu Konfigurieren Sie OAuth Registerkarte und konfigurieren App-Name, Client-ID, Client-Geheimnis von zur Verfügung gestellt Endpunkte.
  • Informationen zur Konfiguration finden Sie in der folgenden Tabelle Umfang und Endpunkte für Laravel Passport im Plugin.


    Kunden ID : aus Schritt 3 oben
    Kundengeheimnis: aus Schritt 3 oben
    Endpunkt autorisieren: http://your-laravel-site-url/oauth/authorize
    Zugriffstoken-Endpunkt: http://your-laravel-site-url/oauth/token
    Endpunkt zum Abrufen von Benutzerinformationen: http://your-laravel-site-url/api/user/get
  • Klicken Sie auf Einstellungen speichern um die Konfiguration zu speichern.
  • Laravel Passport Single Sign-On (SSO) OAuth/OpenID WordPress-Konfigurationsendpunkte

Sie haben erfolgreich konfiguriert WordPress als OAuth-Client für die Laravel Passport-Anmeldung auf Ihrer WordPress-Site.


3. Zuordnung von Benutzerattributen

  • Die Zuordnung von Benutzerattributen ist obligatorisch, damit sich Benutzer erfolgreich bei WordPress anmelden können. Wir werden Benutzerprofilattribute für WordPress mithilfe der folgenden Einstellungen einrichten.
  • Benutzerattribute finden

    • Gehen Sie zu Konfigurieren Sie OAuth Tab. Scrollen Sie nach unten und klicken Sie auf Testkonfiguration.
    • Laravel Passport Single Sign-On (SSO) OAuth/OpenID WordPress-Testkonfiguration
    • Sie sehen alle von Ihrem OAuth-Anbieter an WordPress zurückgegebenen Werte in einer Tabelle. Wenn für „Vorname“, „Nachname“, „E-Mail“ oder „Benutzername“ kein Wert angezeigt wird, nehmen Sie die erforderlichen Einstellungen in Ihrem OAuth-Anbieter vor, um diese Informationen zurückzugeben.
    • Laravel Passport Single Sign-On (SSO) OAuth/OpenID WordPress-Testkonfigurationsergebnis
    • Wenn Sie alle Werte in der Testkonfiguration sehen, gehen Sie zu Attribut-/Rollenzuordnung Auf der Registerkarte „Benutzername“ erhalten Sie die Liste der Attribute in einem Dropdown-Menü „Benutzername“.
    • Laravel Passport Single Sign-On (SSO) OAuth/OpenID WordPress-Attribut-/Rollenzuordnung

4: Rollenzuordnung [Premium]

  • Klicken Sie auf „Testkonfiguration“ und Sie erhalten die Liste der Attributnamen und Attributwerte, die von Ihrem OAuth-Anbieter gesendet werden.
  • Ordnen Sie im Fenster „Testkonfiguration“ die Attributnamen im Abschnitt „Attributzuordnung“ des Plugins zu. Weitere Einzelheiten finden Sie im Screenshot.
  • Laravel Passport Single Sign-On (SSO) – Attributzuordnung
  • Rollenzuordnung aktivieren: Um die Rollenzuordnung zu aktivieren, müssen Sie das Gruppennamenattribut zuordnen. Wählen Sie den Attributnamen aus der Attributliste aus, der die Rollen aus Ihrer Anbieteranwendung zurückgibt.
    Z.B: Rollen

  • Laravel Passport Single Sign-On (SSO) – Testkonfiguration – Rollenzuordnung
  • Weisen Sie der Provider-Rolle die WordPress-Rolle zu: Basierend auf Ihrem Provider-Antrag können Sie die WordPress-Rolle Ihren Provider-Rollen zuordnen. Abhängig von Ihrer Bewerbung kann es sich um einen Schüler, einen Lehrer, einen Administrator oder einen anderen handeln. Fügen Sie unter Gruppenattributwert die Anbieterrollen hinzu und weisen Sie davor unter WordPress-Rolle die erforderliche WordPress-Rolle zu.

    Zum Beispiel, im Bild unten. Dem Lehrer wurde die Rolle des Administrators und dem Schüler die Rolle des Abonnenten zugewiesen.
  • Laravel Passport Single Sign-On (SSO) – Testkonfiguration – Rollenzuordnung
  • Sobald Sie die Zuordnung speichern, wird der Anbieterrolle nach SSO die WordPress-Administratorrolle zugewiesen.
    Beispiel: Gemäß dem angegebenen Beispiel werden Benutzer mit der Rolle „Lehrer“ als Administratoren in WordPress und „Schüler“ als Abonnenten hinzugefügt.

5. Anmeldeeinstellungen

  • Die Einstellungen auf der Registerkarte „Single Sign-On (SSO)-Einstellungen“ definieren die Benutzererfahrung für Single Sign-On (SSO). Um ein Laravel-Anmelde-Widget zu Ihrer WordPress-Seite hinzuzufügen, müssen Sie die folgenden Schritte ausführen.
    • Gehen Sie zu Linkes WordPress-Panel > Erscheinungsbilder > Widgets.
    • Auswählen miniOrange OAuth. Ziehen Sie es per Drag-and-Drop an Ihren Lieblingsort und speichern Sie es.
    • Laravel Single Sign-on (SSO) – Einstellung der WordPress-Anmeldeschaltfläche „Neuen Client erstellen“.
    • Gehen Sie zu Linkes WordPress-Panel > Erscheinungsbilder > Widgets.
    • Auswählen miniOrange OAuth. Ziehen Sie es per Drag-and-Drop an Ihren Lieblingsort und speichern Sie es.
    • Laravel Single Sign-on (SSO) – Einstellung der WordPress-Anmeldeschaltfläche „Neuen Client erstellen“.
    • Öffnen Sie Ihre WordPress-Seite und Sie können dort die Laravel SSO-Anmeldeschaltfläche sehen. Sie können das Laravel Single Sign-On (SSO) jetzt testen.
    • Stellen Sie sicher, dass die „Auf Anmeldeseite anzeigen“ Die Option ist für Ihre Anwendung aktiviert. (Siehe das Bild unten)
    • Laravel Single Sign-on (SSO) – Einstellung der WordPress-Anmeldeschaltfläche „Neuen Client erstellen“.
    • Jetzt geh zu deinem WordPress Login (Beispiel: https://<your-wordpress-domain >/wp-login.php)
    • Dort sehen Sie eine Laravel SSO-Anmeldeschaltfläche. Sobald Sie auf die Schaltfläche „Anmelden“ klicken, können Sie das Laravel Single Sign-On (SSO) testen.
    • Laravel Single Sign-on (SSO) – Einstellung der WordPress-Anmeldeschaltfläche „Neuen Client erstellen“.
In diesem Handbuch haben Sie die Konfiguration erfolgreich durchgeführt Laravel Passport Single Sign-On (SSO) indem Sie Laravel Passport als OAuth-Anbieter und WordPress als OAuth-Client mit unserem WP OAuth Single Sign-On-Plugin (OAuth & OpenID Connect Client) konfigurieren. Diese Lösung stellt sicher, dass Sie innerhalb von Minuten mit den Anmeldeinformationen von Laravel Passport einen sicheren Zugriff auf Ihre WordPress-Site bereitstellen können.


Weitere Informationen


Mailen Sie uns weiter oauthsupport@xecurify.com Für eine schnelle Beratung (per E-Mail/Besprechung) zu Ihren Anforderungen hilft Ihnen unser Team bei der Auswahl der für Ihre Anforderungen am besten geeigneten Lösung/Plan.

Hallo!

Brauchen Sie Hilfe? Wir sind hier!

Support
Kontaktieren Sie den miniOrange-Support
Erfolg

Vielen Dank für Ihre Anfrage.

Wenn Sie innerhalb von 24 Stunden nichts von uns hören, können Sie gerne eine Folge-E-Mail an senden info@xecurify.com