Heim > PHP-Framework > Laravel > Hauptteil

Laravel-Entwicklung: Wie implementiert man die Anmeldung von Drittanbietern mit Laravel Socialite und Twitter?

PHPz
Freigeben: 2023-06-15 18:18:34
Original
1378 Leute haben es durchsucht

Mit der Entwicklung des Internets ist die Anmeldung über Dritte zu einem unverzichtbaren Bestandteil vieler Websites und Anwendungen geworden. Laravel Socialite ist eine sehr beliebte Social-Login-Erweiterung im Laravel-Framework, mit der sich problemlos die Anmeldung bei Social-Media-Plattformen wie Facebook, Twitter, Google und GitHub implementieren lässt. In diesem Artikel stellen wir vor, wie Sie Anmeldefunktionen von Drittanbietern mithilfe von Laravel Socialite und Twitter implementieren.

Einführung in Laravel Socialite

Laravel Socialite ist ein offizielles Erweiterungspaket, das nach Laravel 5.0 hinzugefügt wurde und zur Implementierung der Anmeldeautorisierungsfunktion von sozialen Medien verwendet wird. Derzeit unterstützt es Social-Media-Plattformen wie Facebook, Twitter, Google, LinkedIn, GitHub und Bitbucket.

Mit Laravel Socialite können wir das Social-Media-Konto des Benutzers einfach an unsere Anwendung binden und eine schnelle Anmeldung, Registrierung und andere Funktionen implementieren. Dies reduziert den Registrierungsaufwand des Benutzers erheblich und verbessert das Benutzererlebnis.

Registrierung eines Twitter-Entwicklerkontos

Bevor wir Laravel Socialite und Twitter für die Anmeldung bei Drittanbietern verwenden, müssen wir ein Twitter-Entwicklerkonto registrieren, um den API-Schlüssel und den geheimen Schlüssel zu erhalten.

  1. Besuchen Sie [Twitter Developer Platform](https://developer.twitter.com/en/apps).
  2. Klicken Sie auf „App erstellen“, geben Sie den Namen, die Beschreibung, die Website-Adresse und andere Informationen der Anwendung ein und klicken Sie auf „Erstellen“.
  3. Betreten Sie die Anwendungsoberfläche, klicken Sie auf die Registerkarte „Schlüssel und Token“. Sie können die Schlüssel der Verbraucher-API sowie den Zugriffstoken und das Geheimnis sehen.
  4. Kopieren Sie den API-Schlüssel und den geheimen API-Schlüssel in den Consumer-API-Schlüsseln in den Code.

Laravel Socialite-Installation

Als nächstes müssen wir zuerst Laravel Socialite installieren, um die Social-Login-Funktion in Laravel einfach zu implementieren.

  1. Verwenden Sie im Terminal den folgenden Befehl, um Laravel Socialite zu installieren:

    composer require laravel/socialite
    Nach dem Login kopieren
  2. Fügen Sie den Laravel Socialite-Dienst im Array providers der config/app.php</ hinzu. code>-Datei Bereitgestellt von: <code>config/app.php 文件的 providers 数组中添加 Laravel Socialite 服务提供者:

    LaravelSocialiteSocialiteServiceProvider::class,
    Nach dem Login kopieren
  3. 在同一个配置文件中的 aliases 数组中添加 Socialite 的门面别名:

    'Socialite' => LaravelSocialiteFacadesSocialite::class,
    Nach dem Login kopieren

完成上述步骤后,我们已经将 Laravel Socialite 安装到了我们的 Laravel 项目。

Laravel Socialite 配置

在开始实现 Twitter 第三方登录功能之前,我们需要为 Laravel Socialite 进行相关的配置。

  1. .env 文件中设置 Twitter 的 API key 和 secret key:

    TWITTER_CLIENT_ID=your-twitter-app-id
    TWITTER_CLIENT_SECRET=your-twitter-app-secret
    TWITTER_CALLBACK_URL=your-app-callback-url
    Nach dem Login kopieren

    其中,TWITTER_CALLBACK_URL 为 Twitter 回调的地址,回调地址需要在 Twitter 开发者平台中进行配置,具体配置方式为在应用程序设置的 Callback URLs 中填写回调地址(如 http://yourapp.com/auth/twitter/callback)。

  2. config/services.php 文件中添加 Twitter 配置:

    'twitter' => [
     'client_id' => env('TWITTER_CLIENT_ID'),
     'client_secret' => env('TWITTER_CLIENT_SECRET'),
     'redirect' => env('TWITTER_CALLBACK_URL'),
    ],
    Nach dem Login kopieren

Laravel Socialite 使用

在完成 Laravel Socialite 的安装和配置后,我们就可以使用它来实现 Twitter 第三方登录功能了。

页面路由

首先,我们需要为用户提供一个登录页面,让用户可以通过 Twitter 登录。我们可以在 Laravel 项目的路由文件中定义一个页面路由:

Route::get('/login', function () {
    return view('login');
});
Nach dem Login kopieren

这里我们定义了一个 /login 的页面路由,用于显示登录页面。这个页面中将会包含一个链接,用户点击该链接后将会跳转到 Twitter 系统,进行登录授权。

登录功能实现

在登录页面中,我们可以添加一个链接,调用 Laravel Socialite 的 redirect() 方法来实现 Twitter 登录授权:

<a href="{{ route('twitter.login') }}">Login with Twitter</a>
Nach dem Login kopieren

在授权完成后,Twitter 系统将会将用户重定向到我们在 TWITTER_CALLBACK_URL 中设定的回调网址。在回调地址中,我们需要定义一个路由,用于接收 Twitter 返回的授权信息和 Access Token:

Route::get('/auth/twitter/callback', function () {
    $user = Socialite::driver('twitter')->user();
    // 处理用户信息和 Access Token
});
Nach dem Login kopieren

在路由中调用 Laravel Socialite 的 driver() 方法,传递 Twitter 配置的名称(即 twitterrrreee

Fügen Sie den Fassadenalias von Socialite im Array aliases in derselben Konfigurationsdatei hinzu:

rrreee

Nach Abschluss der obigen Schritte haben wir Laravel Socialite in unserem installiert Laravel-Projekt. 🎜🎜Laravel Socialite-Konfiguration🎜🎜Bevor wir mit der Implementierung der Drittanbieter-Anmeldefunktion von Twitter beginnen, müssen wir relevante Konfigurationen für Laravel Socialite vornehmen. 🎜🎜🎜🎜Legen Sie den API-Schlüssel und den geheimen Schlüssel von Twitter in der Datei .env fest: 🎜rrreee🎜Unter diesen ist TWITTER_CALLBACK_URL die Twitter-Rückrufadresse, und die Rückrufadresse muss es sein von Twitter entwickelt werden. Konfigurieren Sie es auf der Benutzerplattform. Die spezifische Konfigurationsmethode besteht darin, die Rückrufadresse in die von der Anwendung festgelegten Rückruf-URLs einzugeben (z. B. http://yourapp.com/auth/twitter/callback). 🎜🎜🎜🎜Fügen Sie die Twitter-Konfiguration in der Datei <code>config/services.php hinzu: 🎜rrreee🎜🎜🎜Verwenden von Laravel Socialite🎜🎜Nach Abschluss der Installation und Konfiguration von Laravel Socialite können wir damit Twitter implementieren Jetzt Drittanbieter-Login-Funktion nutzen. 🎜

Page Routing

🎜Zunächst müssen wir eine Anmeldeseite bereitstellen, damit sich Benutzer über Twitter anmelden können. Wir können eine Seitenroute in der Routing-Datei des Laravel-Projekts definieren: 🎜rrreee🎜Hier definieren wir eine Seitenroute von /login, um die Anmeldeseite anzuzeigen. Diese Seite enthält einen Link. Nachdem der Benutzer auf den Link geklickt hat, wird er zur Anmeldeautorisierung zum Twitter-System weitergeleitet. 🎜

Anmeldefunktionsimplementierung

🎜Auf der Anmeldeseite können wir einen Link hinzufügen und die redirect()-Methode von Laravel Socialite aufrufen, um die Twitter-Anmeldeautorisierung zu implementieren: 🎜rrreee🎜Nach der Autorisierung ist abgeschlossen Anschließend leitet das Twitter-System den Benutzer zu der Rückruf-URL weiter, die wir in TWITTER_CALLBACK_URL festgelegt haben. In der Rückrufadresse müssen wir eine Route definieren, um die von Twitter zurückgegebenen Autorisierungsinformationen und das Zugriffstoken zu empfangen: 🎜rrreee🎜Rufen Sie die driver()-Methode von Laravel Socialite in der Route auf und übergeben Sie den Namen von Über die Twitter-Konfiguration (d. h. twitter) können Sie die Autorisierungsinformationen und das Zugriffstoken des Benutzers erhalten. 🎜🎜Als nächstes können wir die Benutzerinformationen entsprechend den Anforderungen verarbeiten, z. B. Benutzerinformationen in der Datenbank speichern, neue Benutzer erstellen, automatische Anmeldung usw. 🎜🎜Zusammenfassung🎜🎜In diesem Artikel haben wir vorgestellt, wie man Anmeldefunktionen von Drittanbietern mit Laravel Socialite und Twitter implementiert. Mit Laravel Socialite können wir die Anmeldeautorisierungsfunktion von Twitter einfach implementieren und das Social-Media-Konto des Benutzers an unsere Anwendung binden. Laravel Socialite ist sehr praktisch für die Implementierung von Anmeldefunktionen von Drittanbietern und wird jedem zur Verwendung bei der Entwicklung von Laravel-Anwendungen empfohlen. 🎜

Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie implementiert man die Anmeldung von Drittanbietern mit Laravel Socialite und Twitter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage