Socialite adalah library laravel yang berfungsi dalam membantu proses OAuth login dengan social media yang tersedia seperti, Facebook, Twitter, Github, Linkedin, Google, dan Bitbucket. Oke sekarang kita buat file baru ya, mari kita mulai. Bagi yang udah tau cara buat project laravel, ya silahkan buat, bagi yang belum langsung kesini aja Pertama buat database dulu, terserah lah namanya apa. Kedua setting database lo di .ENV namanya apa sama user dan password. Pergi ke databases -> migration -> create_users_table dan edit si migration kaya gini Schema::create('users', function (Blueprint $table) { Kita menambahkan provider untuk menyimpan data dia login atau register dari mana, dan id nya berapa. Sekarang jangan lupa langsung migrate aja karena kita lagi belajar. php artisan migrate Oke kalo udah langsung mulai dengan ngedownload library nya terlebih dahulu. composer require laravel/socialite Oke pada kali ini gue bakalan ngajarin loginnya lewat facebook, twitter sama google aja ya karena ini yang paling sering, sisanya sama kok. Kalo udah sekarang nyalain Auth dari Laravel. Masukkan code dibawah php artisan make:auth Pergi ke App\Controllers\Auth dan cek apakah ada AuthController.php disana? kalo ada tinggal masukkin kode dibawah, kalo engga ada ya buat baru aja dulu. Setelah itu paste kode dibawah <?php Sekarang pergi ke routes- > web.php dan tambahkan kode dibawah yang tidak ada. Route::get('/', function () { {provider} akan diisi dengan facebook/twitter/google pada code dibawah nanti. Sekarang pergi ke views -> auth -> login.blade.php dan edit aja kaya gini @extends('layouts.app') Silahkan buka folder config -> services.php dan tambahkan kode dibawah ini. <?php Kalo udah sekarang edit file .ENV kamu, tambahkan kode dibawah ini TWITTER_ID= Oke gue jelasin sedikit dulu, jadi kita akan ngebuat aplikasi OAuth dengan ketiga social media tersebut, kita perlu daftar di masing-masing social media untuk dapetin key tersebut, dan caranya adalah dengan memasukkan ID, SECRET KEY, dan URL CALLBACK dari aplikasi yang kita buat di socmed tersebut. Oke mungkin ID sama SECRET KEY kalian paham, tapi mungkin aja ada yang nanya URL CALLBACK itu apasih?
oke pertama Facebook dulu, yuk sama-sama cabut ke Developer Facebook dan buat aplikasi baru. Oke silahkan buat aplikasi baru. nanti akan ada popup nama tampilan dan email kalian, isi aja dengan nama tampilan belajar-login-socialite Kalo gue namanya Nyoba login, sekarang pilih masuk produk masuk facebook untuk make API Login Facebook. Klik siapkan. Kalo muncul gini di skip aja dulu, langsung pindah kebawah Klik pengaturan -> dasar (Settings -> general kalo lo berbahasa inggris, entah kenapa pengaturan gue b.indo). ID aplikasi adalah FB_ID di .env kita dan Kunci Rahasia Aplikasi adalah FB_SECRET di .env kita. Copy masing-masing dan tambahkan ke .env FB_ID=250525818839772 Jangan lupa harus https:// ya karena facebook maksa kita buat https Sekarang pergi ke produk login by facebook, dan ke settings. Nah di URI pengalihan OAuth valid tambahin tuh https://localhost:8000/auth/facebook/callback kenapa gitu? karena facebook maksa minta https:// Sekarang jalanin laravelnya dan akses ke localhost:8000/login Bagi yang pake firefox atau google chrome pasti ditanya kaya gini, tenang aja, ini tetep an kok, ini kan di server sendiri. Kenapa punya gue socialite.c2.com ? karena gue pake server Homestead, atau yang biasa pake LARAGON pasti sering ngubah nama projectnya jadi namaproject.dev ini akan gue jelaskan di tutorial yang akan datang. Cukup klik advanced dan add exception aja, tidak ada alasan untuk tidak masuk, kan servernya di localhost, ngapain takut datanya kecuri? hehehe. Pilih home dan liat hasilnya. Facebook berhasil? Sekarang tinggal tahap selanjutnya, TWITTER ! Masuk sini untuk lari ke apps twitter Ini tampilannya, sekarang kita CREATE NEW APP. nah sok diikutin aja coba. Disini bedanya adalah twitter gabutuh HTTPS. Intinya twitter ga maksa kita buat pake HTTPS. Yup we’re finished for create the app. Pergi ke keys and access tokens, dan kamu bisa melihat Consumer Key yang akan digunakan sebagai TWITTER_ID dan Consumer Secret sebagai TWITTER_SECRET Sekarang ganti Consumer Key dan Consumer Secret kamu di .env php artisan migrate 0Twitter gabutuh HTTPS kok jadi http aja gapapa. Sekarang coba deh login lewat twitter. Oke twitter kelar. Twitter paling gampang loh FYI ahahaha.
Untuk github, linkedin, bitbucket silahkan nyoba sendiri aja ya wkwkwk prosesnya sama kok! Oke segitu aja ya yang bisa gue jelasin, kalo ada yang error bisa komen dimari siapa tau gue bisa bantu. |