Rumah  >  Artikel  >  rangka kerja php  >  Pembangunan Laravel: Bagaimana untuk melaksanakan log masuk pihak ketiga menggunakan Laravel Socialite dan Twitter?

Pembangunan Laravel: Bagaimana untuk melaksanakan log masuk pihak ketiga menggunakan Laravel Socialite dan Twitter?

PHPz
PHPzasal
2023-06-15 18:18:341368semak imbas

Dengan perkembangan Internet, log masuk pihak ketiga telah menjadi bahagian yang sangat diperlukan dalam banyak tapak web dan aplikasi. Laravel Socialite ialah sambungan log masuk sosial yang sangat popular dalam rangka kerja Laravel, yang boleh melaksanakan log masuk ke platform media sosial dengan mudah seperti Facebook, Twitter, Google dan GitHub. Dalam artikel ini, kami akan memperkenalkan cara melaksanakan fungsi log masuk pihak ketiga menggunakan Laravel Socialite dan Twitter.

Pengenalan kepada Laravel Socialite

Laravel Socialite ialah pakej sambungan rasmi yang ditambah selepas Laravel 5.0, yang digunakan untuk melaksanakan fungsi kebenaran log masuk media sosial. Pada masa ini, ia menyokong platform media sosial seperti Facebook, Twitter, Google, LinkedIn, GitHub dan Bitbucket.

Menggunakan Laravel Socialite, kami boleh mengikat akaun media sosial pengguna dengan mudah ke aplikasi kami dan melaksanakan log masuk pantas, pendaftaran dan fungsi lain. Ini sangat mengurangkan beban pendaftaran pengguna dan meningkatkan pengalaman pengguna.

Pendaftaran akaun pembangun Twitter

Sebelum mula menggunakan Laravel Socialite dan Twitter untuk log masuk pihak ketiga, kami perlu mendaftar akaun pembangun Twitter untuk mendapatkan kunci API dan kunci rahsia.

  1. Lawati [Twitter Developer Platform](https://developer.twitter.com/en/apps).
  2. Klik Cipta Apl, masukkan nama, perihalan, alamat tapak web dan maklumat lain aplikasi dan klik Cipta.
  3. Masukkan antara muka aplikasi dan klik pada tab Kekunci dan Token untuk melihat kunci API Pengguna dan token & rahsia Akses.
  4. Salin kunci API dan kunci rahsia API dalam kunci API Pengguna ke kod.

Pemasangan Laravel Socialite

Seterusnya, kita perlu memasang Laravel Socialite terlebih dahulu untuk melaksanakan fungsi log masuk sosial dalam Laravel dengan mudah.

  1. Dalam terminal, gunakan arahan berikut untuk memasang Laravel Socialite:

    composer require laravel/socialite
  2. Tambah Laravel dalam tatasusunan config/app.php fail Socialite pembekal perkhidmatan: providers

    LaravelSocialiteSocialiteServiceProvider::class,

  3. Tambah alias fasad Socialite dalam tatasusunan

    dalam fail konfigurasi yang sama: aliases

    'Socialite' => LaravelSocialiteFacadesSocialite::class,

Selesai Selepas langkah di atas , kami telah memasang Laravel Socialite ke dalam projek Laravel kami.

Konfigurasi Laravel Socialite

Sebelum kami mula melaksanakan fungsi log masuk pihak ketiga Twitter, kami perlu mengkonfigurasi Laravel Socialite.

  1. Tetapkan kunci API Twitter dan kunci rahsia dalam fail

    : .env

    TWITTER_CLIENT_ID=your-twitter-app-id
    TWITTER_CLIENT_SECRET=your-twitter-app-secret
    TWITTER_CALLBACK_URL=your-app-callback-url

    Di mana,

    ialah alamat panggilan balik Twitter dan alamat panggilan balik perlu berada di Twitter Konfigurasi dalam platform pembangun Kaedah konfigurasi khusus ialah mengisi alamat panggilan balik (seperti TWITTER_CALLBACK_URL) dalam URL Panggilan Balik yang ditetapkan oleh aplikasi. http://yourapp.com/auth/twitter/callback

  2. Tambah konfigurasi Twitter dalam fail

    : config/services.php

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

Laravel Socialite Gunakan

untuk melengkapkan pemasangan Laravel Socialite Selepas konfigurasi, kami boleh menggunakannya untuk melaksanakan fungsi log masuk pihak ketiga Twitter.

Penghalaan Halaman

Pertama, kami perlu menyediakan halaman log masuk untuk pengguna log masuk melalui Twitter. Kami boleh menentukan laluan halaman dalam fail penghalaan projek Laravel:

Route::get('/login', function () {
    return view('login');
});

Di sini kami mentakrifkan laluan halaman

untuk memaparkan halaman log masuk. Halaman ini akan mengandungi pautan Selepas pengguna mengklik pautan, ia akan melompat ke sistem Twitter untuk kebenaran log masuk. /login

Pelaksanaan fungsi log masuk

Dalam halaman log masuk, kami boleh menambah pautan dan memanggil kaedah

Laravel Socialite untuk melaksanakan kebenaran log masuk Twitter: redirect()

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

Selepas kebenaran selesai Selepas itu, sistem Twitter akan mengubah hala pengguna ke URL panggil balik yang kami tetapkan dalam

. Dalam alamat panggil balik, kami perlu menentukan laluan untuk menerima maklumat kebenaran dan Token Akses yang dikembalikan oleh Twitter: TWITTER_CALLBACK_URL

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

Panggil kaedah

Laravel Socialite dalam laluan, menghantar nama konfigurasi Twitter (iaitu driver()) untuk mendapatkan maklumat kebenaran pengguna dan Token Akses. twitter

Seterusnya, kami boleh memproses maklumat pengguna mengikut keperluan, seperti menyimpan maklumat pengguna ke pangkalan data, mencipta pengguna baharu, log masuk automatik, dll.

Ringkasan

Dalam artikel ini, kami memperkenalkan cara melaksanakan fungsi log masuk pihak ketiga menggunakan Laravel Socialite dan Twitter. Menggunakan Laravel Socialite, kami boleh melaksanakan fungsi kebenaran log masuk Twitter dengan mudah dan mengikat akaun media sosial pengguna pada aplikasi kami. Laravel Socialite sangat mudah untuk melaksanakan fungsi log masuk pihak ketiga dan disyorkan untuk digunakan oleh semua orang semasa membangunkan aplikasi Laravel.

Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk melaksanakan log masuk pihak ketiga menggunakan Laravel Socialite dan Twitter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn