cari
Rumahrangka kerja phpLaravelPembangunan Laravel: Bagaimana untuk melaksanakan log masuk pihak ketiga menggunakan Laravel Socialite dan Google?

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

Dalam aplikasi web moden, log masuk dan pengesahan pengguna adalah penting. Kaedah pengesahan tradisional berdasarkan nama pengguna dan kata laluan tidak lagi dapat memenuhi keperluan keselamatan dan kemudahannya. Log masuk pihak ketiga menyelesaikan masalah ini dengan membenarkan pengguna log masuk ke aplikasi anda menggunakan akaun yang telah mereka buat pada platform lain.

Dalam artikel ini, kami akan memperkenalkan cara melaksanakan log masuk pihak ketiga menggunakan Laravel Socialite dan Google.

Apakah itu Laravel Socialite?

Laravel Socialite ialah perpustakaan pembungkusan untuk proses pengesahan OAuth yang digunakan secara meluas dalam komuniti Laravel. Ia membolehkan kami berhubung dengan mudah dengan pelbagai perkhidmatan pihak ketiga seperti Facebook, Twitter, Google, dll.

Tetapan Platform Pembangunan Google

Mula-mula, kami perlu mencipta ID klien OAuth dalam Platform Pembangunan Google. Buka https://console.developers.google.com/ dan buat projek baharu. Dalam menu lungsur turun "Pilih Projek" di penjuru kiri sebelah atas, klik "Projek Baharu."

Isi nama projek dan maklumat tetapan projek lain. Selepas membuat projek, anda akan dialihkan ke halaman gambaran keseluruhan projek. Daripada menu atas, pilih API & Perkhidmatan > Bukti kelayakan.

Klik butang "Buat Kredensial" dan pilih "ID Klien OAuth".

Dalam menu lungsur turun "Jenis Aplikasi", pilih "Aplikasi Web". Untuk mengintegrasikan Laravel Socialite dengan Google, kami perlu mengisi medan "Sumber JavaScript yang Dibenarkan" dan "Ubah hala URI".

Dalam medan "Sumber JavaScript Dibenarkan", masukkan nama hos aplikasi anda, kami boleh menggunakan URL "http://localhost" secara setempat. Dalam medan "Ubah hala", masukkan URL panggil balik untuk mengubah hala semula ke aplikasi anda selepas log masuk daripada Google. Dalam contoh ini, kami akan menggunakan URL "http://localhost:8000/auth/google/callback".

Setelah dibuat, anda akan diberikan ID Pelanggan dan Rahsia Pelanggan. Simpan bukti kelayakan ini, kami akan menggunakannya kemudian dalam Laravel.

Pemasangan dan konfigurasi Laravel Socialite

Laravel Socialite ialah pakej Komposer yang boleh digunakan melalui pemasangan baris arahan. Kami menggunakan arahan berikut untuk memasangnya:

composer require laravel/socialite

Selepas pemasangan selesai, tambah pembekal perkhidmatan Socialite dalam fail konfigurasi Laravel:

'providers' => [
    // ...
    LaravelSocialiteSocialiteServiceProvider::class,
],

Anda juga perlu menambah maklumat konfigurasi berikut ke fail konfigurasi Laravel:

'client_id' => env('GOOGLE_CLIENT_ID'),
'client_secret' => env('GOOGLE_CLIENT_SECRET'),
'redirect' => env('GOOGLE_REDIRECT'),

Di sini kami menggunakan fail .env untuk menyimpan maklumat konfigurasi yang diperlukan:

GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_REDIRECT=http://localhost:8000/auth/google/callback

Integrasi Sosialit Laravel

Di sini kita perlu mencipta laluan pengendali yang akan mengendalikan aliran OAuth dengan Google.

Route::get('/auth/google', function () {
    return Socialite::driver('google')->redirect();
});

Route::get('/auth/google/callback', function () {
    $user = Socialite::driver('google')->user();
    dd($user);
});

Pengendali laluan pertama akan mengubah hala pengguna ke aliran log masuk Google.

Apabila berjaya, pengguna akan diubah hala ke pengendali laluan kedua. Pada ketika ini, kita boleh menggunakan kaedah user() untuk mendapatkan maklumat pengguna yang log masuk. Isikan kod pengguna yang dikembalikan dan cetak maklumat pengguna yang anda perolehi:

$user = Socialite::driver('google')->user();
dd($user);

Anda akan melihat data lain tentang pengguna, seperti nama pengguna, alamat e-mel, avatar, token, dsb. Berdasarkan maklumat ini, kami boleh melaksanakan log masuk pihak ketiga.

Di sini kami akan menggunakan maklumat pengguna yang diperoleh di atas untuk membuat dan mengesahkan pengguna aplikasi.

Route::get('/auth/google/callback', function () {
    $user = Socialite::driver('google')->user();
    // save application user
    $authUser = User::where('email', $user->email)->first();
    if ($authUser) {
        Auth::login($authUser, true);
        return redirect('/home');
    }
    // create application user
    $newUser = new User;
    $newUser->name = $user->name;
    $newUser->email = $user->email;
    $newUser->password = bcrypt(str_random(16));
    $newUser->save();
    Auth::login($newUser, true);
    return redirect('/home');
});

Di sini kita mulakan dengan mencari pengguna apl sedia ada menggunakan alamat e-mel yang dikembalikan oleh Google. Jika ditemui, kemudian log masuk menggunakan API pengesahan Laravel. Jika tidak dijumpai, kemudian buat pengguna baharu dan log masuk menggunakan API Pengesahan Laravel.

Kesimpulan

Artikel ini memperkenalkan cara menggunakan Laravel Socialite dan Google untuk melaksanakan log masuk pihak ketiga.

Melalui persediaan Google Dev Platform, kami menjana bukti kelayakan OAuth yang diperlukan. Kemudian, kami menggunakan Laravel Socialite untuk menghapuskan langkah dan kod yang membosankan dalam proses OAuth. Akhir sekali, kami mengesahkan dan mencipta pengguna baharu menggunakan alamat e-mel sedia ada pengguna.

Kami berharap artikel ini memberikan panduan tentang cara melaksanakan log masuk pihak ketiga menggunakan Laravel Socialite dan Google, serta meliputi gambaran keseluruhan proses OAuth.

Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk melaksanakan log masuk pihak ketiga menggunakan Laravel Socialite dan Google?. 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
Menggunakan Laravel: Menyelaraskan Pembangunan Web dengan PHPMenggunakan Laravel: Menyelaraskan Pembangunan Web dengan PHPApr 19, 2025 am 12:18 AM

Laravel mengoptimumkan proses pembangunan web termasuk: 1. Gunakan sistem penghalaan untuk menguruskan struktur URL; 2. Gunakan enjin templat bilah untuk memudahkan pembangunan pandangan; 3. Mengendalikan tugas-tugas yang memakan masa melalui beratur; 4. Gunakan eloquentorm untuk memudahkan operasi pangkalan data; 5. Ikuti amalan terbaik untuk meningkatkan kualiti kod dan penyelenggaraan.

Laravel: Pengenalan kepada Rangka Kerja Web PHPLaravel: Pengenalan kepada Rangka Kerja Web PHPApr 19, 2025 am 12:15 AM

Laravel adalah rangka kerja PHP moden yang menyediakan set alat yang berkuasa, memudahkan proses pembangunan dan meningkatkan kebolehpercayaan dan skalabilitas kod. 1) Eloquentorm memudahkan operasi pangkalan data; 2) enjin templat bilah membuat pembangunan front-end intuitif; 3) alat baris perintah artis meningkatkan kecekapan pembangunan; 4) Pengoptimuman Prestasi termasuk menggunakan mekanisme eagerloading, caching, mengikuti seni bina MVC, pemprosesan giliran dan kes ujian menulis.

Laravel: Senibina dan amalan terbaik MVCLaravel: Senibina dan amalan terbaik MVCApr 19, 2025 am 12:13 AM

Senibina MVC Laravel meningkatkan struktur dan pemeliharaan kod melalui model, pandangan, dan pengawal untuk pemisahan logik data, persembahan dan pemprosesan perniagaan. 1) Model memproses data, 2) Pandangan bertanggungjawab untuk paparan, 3) Pengawal memproses input pengguna dan logik perniagaan. Seni bina ini membolehkan pemaju memberi tumpuan kepada logik perniagaan dan mengelakkan jatuh ke dalam kod qagmire.

Laravel: Ciri -ciri utama dan kelebihan dijelaskanLaravel: Ciri -ciri utama dan kelebihan dijelaskanApr 19, 2025 am 12:12 AM

Laravel adalah rangka kerja PHP berdasarkan seni bina MVC, dengan sintaks ringkas, alat baris perintah yang kuat, operasi data yang mudah dan enjin templat fleksibel. 1. Sintaks elegan dan API yang mudah digunakan menjadikan pembangunan cepat dan mudah digunakan. 2. Alat baris perintah artisan memudahkan penjanaan kod dan pengurusan pangkalan data. 3.eloquentorm menjadikan operasi data intuitif dan mudah. 4. Enjin templat bilah menyokong logik paparan lanjutan.

Membina backend dengan Laravel: PanduanMembina backend dengan Laravel: PanduanApr 19, 2025 am 12:02 AM

Laravel sesuai untuk membina perkhidmatan backend kerana ia menyediakan sintaks elegan, fungsi yang kaya dan sokongan masyarakat yang kuat. 1) Laravel adalah berdasarkan seni bina MVC, memudahkan proses pembangunan. 2) Ia mengandungi eloquentorm, mengoptimumkan operasi pangkalan data. 3) Ekosistem Laravel menyediakan alat seperti sistem tukang, bilah dan penghalaan untuk meningkatkan kecekapan pembangunan.

Perkongsian Kemahiran Kerangka LaravelPerkongsian Kemahiran Kerangka LaravelApr 18, 2025 pm 01:12 PM

Dalam era kemajuan teknologi yang berterusan, menguasai kerangka lanjutan adalah penting untuk pengaturcara moden. Artikel ini akan membantu anda meningkatkan kemahiran pembangunan anda dengan berkongsi teknik yang kurang dikenali dalam rangka kerja Laravel. Dikenali dengan sintaks yang elegan dan pelbagai ciri, artikel ini akan menggali ciri -ciri yang kuat dan memberikan tips dan cara praktikal untuk membantu anda membuat aplikasi web yang cekap dan boleh dipelihara.

Perbezaan antara Laravel dan ThinkPhpPerbezaan antara Laravel dan ThinkPhpApr 18, 2025 pm 01:09 PM

Laravel dan ThinkPHP adalah kerangka PHP yang popular dan mempunyai kelebihan dan kekurangan mereka sendiri dalam pembangunan. Artikel ini akan membandingkan kedua -dua kedalaman, menonjolkan seni bina, ciri, dan perbezaan prestasi mereka untuk membantu pemaju membuat pilihan yang tepat berdasarkan keperluan projek khusus mereka.

Senarai Fungsi Login Pengguna LaravelSenarai Fungsi Login Pengguna LaravelApr 18, 2025 pm 01:06 PM

Membina keupayaan log masuk pengguna di Laravel adalah tugas penting dan artikel ini akan memberikan gambaran keseluruhan yang menyeluruh yang meliputi setiap langkah kritikal dari pendaftaran pengguna untuk log masuk pengesahan. Kami akan menyelam ke dalam kuasa keupayaan pengesahan terbina dalam Laravel dan membimbing anda melalui penyesuaian dan memperluaskan proses log masuk untuk memenuhi keperluan tertentu. Dengan mengikuti arahan langkah demi langkah ini, anda boleh membuat sistem log masuk yang selamat dan boleh dipercayai yang menyediakan pengalaman akses yang lancar untuk pengguna aplikasi Laravel anda.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).