SchöpfungsSchnipsel

Laravel Socialite Einrichten


Laravel Socialite Einrichten, Laravel Socialite bietet eine einfache Möglichkeit zur Authentifizierung mit Social Media Plattformen wie Facebook, Google, Twitter, und GitHub. Diese Anleitung führt dich durch die Einrichtung und Konfiguration von Laravel Socialite in einem Laravel-Projekt.

Voraussetzungen


Eine Laravel-Installation (vorausgesetzt, du hast bereits ein Laravel-Projekt eingerichtet)
Composer installiert

Schritt 1: Installation von Laravel Socialite


Zuerst musst du Laravel Socialite mithilfe von Composer in deinem Laravel-Projekt installieren:

composer require laravel/socialite

Schritt 2: Konfiguration


2.1 Service Provider und Alias
Falls du Laravel 5.4 oder älter verwendest, musst du den Service Provider und den Alias in der config/app.php Datei registrieren. Bei neueren Versionen von Laravel ist dies nicht mehr notwendig, da der Service Provider automatisch geladen wird.

'providers' => [ // Andere Service-Provider Laravel\Socialite\SocialiteServiceProvider::class, ], 'aliases' => [ // Andere Aliases 'Socialite' => Laravel\Socialite\Facades\Socialite::class, ],

2.2 Environment-Datei

Füge deine Social Media App-Schlüssel und Geheimnisse in deine .env Datei ein. Zum Beispiel für GitHub:

GITHUB_CLIENT_ID=dein-github-client-id GITHUB_CLIENT_SECRET=dein-github-client-secret GITHUB_REDIRECT_URI=https://deine-domain.com/auth/github/callback

Schritt 3: Hinzufügen der Socialite-Anbieter-Konfigurationen


Füge die entsprechenden Anbieter-Konfigurationen zu deiner config/services.php Datei hinzu:

return [ // Andere Service-Konfigurationen 'github' => [ 'client_id' => env('GITHUB_CLIENT_ID'), 'client_secret' => env('GITHUB_CLIENT_SECRET'), 'redirect' => env('GITHUB_REDIRECT_URI'), ], // Weitere Anbieter wie 'facebook', 'google' etc. können hier hinzugefügt werden ];

Schritt 4: Erstellen der Auth-Routen


Füge die Routen für die Social-Login-Anbieter in deiner routes/web.php Datei hinzu:

use Laravel\Socialite\Facades\Socialite; use App\Http\Controllers\Auth\SocialiteController; Route::get('auth/github', [SocialiteController::class, 'redirectToProvider']); Route::get('auth/github/callback', [SocialiteController::class, 'handleProviderCallback']);

Schritt 5: Erstellen des Socialite Controllers


Erstelle einen Controller für die Socialite-Authentifizierung:

php artisan make:controller Auth/SocialiteController

Füge die folgenden Methoden in den erstellten Controller (app/Http/Controllers/Auth/SocialiteController.php) ein:

namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use Laravel\Socialite\Facades\Socialite; use App\Models\User; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; class SocialiteController extends Controller { /** * Redirect the user to the GitHub authentication page. * * @return \Illuminate\Http\Response */ public function redirectToProvider() { return Socialite::driver('github')->redirect(); } /** * Obtain the user information from GitHub. * * @return \Illuminate\Http\Response */ public function handleProviderCallback() { $githubUser = Socialite::driver('github')->stateless()->user(); $user = User::updateOrCreate( [ 'email' => $githubUser->getEmail(), ], [ 'name' => $githubUser->getName(), 'password' => Hash::make(str_random(24)), // Sicherstellen, dass ein Passwort gesetzt wird 'github_id' => $githubUser->getId(), // Hinzufügen falls du github_id Spalte in der Datenbank hast ] ); Auth::login($user, true); return redirect('/home'); } }

Schritt 6: Migration anpassen


Falls notwendig, füge eine Spalte für die Anbieter-ID zu deiner users Tabelle hinzu. Du kannst dies durch das Erstellen einer neuen Migration tun:

php artisan make:migration add_github_id_to_users_table --table=users

Bearbeite die Migration -

database/migrations/xxxx_xx_xx_xxxxxx_add_github_id_to_users_table.php

um die neue Spalte hinzuzufügen:

public function up() { Schema::table('users', function (Blueprint $table) { $table->string('github_id')->nullable()->unique(); }); } public function down() { Schema::table('users', function (Blueprint $table) { $table->dropColumn('github_id'); }); }

Führe die Migration aus:

php artisan migrate

Schritt 7: Frontend-Anpassungen


Füge einen Link oder Button in deinem Frontend hinzu, um die Social-Login-Funktionalität zu nutzen. Zum Beispiel in einer Blade-Template-Datei (resources/views/auth/login.blade.php):

<a href="{{ url('auth/github') }}" class="btn btn-primary">Login with GitHub</a>

Du solltest nun in der Lage sein, dich über GitHub in deiner Laravel-Anwendung zu authentifizieren. Wiederhole diese Schritte für andere Social-Login-Anbieter, indem du die entsprechenden Einstellungen und Routen anpasst.

0 Kommentare

Bitte Loge dich ein um ein Kommentar zu Hinterlassen!

oder Login mit Google

StoryStube

Entdecken Sie spannende Neuigkeiten, praktische Tipps und hilfreiche Tricks rund um die neuesten Trends in meiner Branche. Bleiben Sie auf dem Laufenden mit meinen Beiträgen und innovativen Ideen...

Mehr Web-Leistung?
Jetzt unverbindlich anfragen!

Bereit für Neues?

Maßgeschneiderte Webentwicklung für ein einzigartiges Nutzererlebnis

Programmieren mit Präzision

Einzigartige und Professionelle

  • Kreative Gestaltung von Website-Layouts.
  • Digitalisierung auf höchstem Niveau.
  • Kreative Lösungen, starke Webseiten.
  • Anwendung für eine schnelle und reibungslose Benutzererfahrung.

Kontakt

Kontaktieren Sie mich noch heute, um umfassende Informationen zu meinen Dienstleistungen zu erhalten und zu erfahren, wie ich Sie wirkungsvoll bei der Umsetzung Ihres Webprojekts unterstützen kann.

Captcha
Entdecken Sie die Leistungsfähigkeit von Laravel für individuelle Webentwicklung! - Maßgeschneiderte Webentwicklung für ein einzigartiges Nutzererlebnis!

Live-Programmierungssitzung buchen, Echtzeit-Programmierhilfe reservieren, Sofortige Hilfe bei der Programmierung anfordern, Live-Unterstützung für Programmierprojekte buchen, Personalisierte Programmierberatung buchen, Online-Programmier-Coaching vereinbaren, Virtuelle Programmierhilfe in Echtzeit erhalten, Direkte Programmierungshilfe online buchen, Interaktive Programmierunterstützung reservieren, Programmierexperten live konsultieren, Sofortige Hilfe von Entwicklern einholen, Echtzeit-Entwicklungsunterstützung anfordern, Persönliche Programmierungssitzung buchen, On-Demand-Programmierungshilfe buchen, Live-Entwicklerberatung in Anspruch nehmen, Programmierprobleme live besprechen, Maßgeschneiderte Programmierunterstützung vereinbaren, Online-Session mit Programmierexperten planen, Interaktive Lösungen für Programmieraufgaben reservieren, Live-Programmierhilfe sofort verfügbar machen,