Langsung ke konten utama

Verifikasi User Laravel 8 API

Ketika sudah registrasi kita perlu verifikasi user, Untuk akses web apps di pastikan user yang emailnya aktif (Authorized).

Setup .env agar bisa kirim melalui gmail

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=youremail@gmail.com
MAIL_PASSWORD=yourpassoword
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=from@gmail.com
MAIL_FROM_NAME="${APP_NAME}"

Tambahkan AuthServiceProvider.php

use Illuminate\Auth\Notifications\VerifyEmail;
use Illuminate\Notifications\Messages\MailMessage;
 
public function boot()
    {
        $this->registerPolicies();

        VerifyEmail::toMailUsing(function ($notifiable$url){
            $spaUrl = $url;

            return(new MailMessage)
                ->subject('Verify Email Address')
                ->line('Click the button below to verify your email address.')
                ->action('Verify Email Address'$spaUrl);
        });
    }

 

Tambahkan controller dan buka controllernya

php artisan make:controller EmailVerificationController

<?php

namespace App\Http\Controllers\API;

use App\Models\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Auth\Events\Verified;
use Illuminate\Foundation\Auth\EmailVerificationRequest;

class EmailVerificationController extends Controller
{
    public function sendVerificationEmail(Request $request)
    {
        if($request->user()->hasVerifiedEmail()){
            return [
                'message' => 'Already Verified'
            ];
        }
        $request->user()->sendEmailVerificationNotification();
        return [
            'status' => 'verification-link-sent',
            
        ];
    }
 
    public function verify(Request $request)
    {
        $userID = $request['id'];
        $user = User::findOrFail($userID);
        $date = date("Y-m-d g:i:s");
        $user->email_verified_at = $date
        $user->save();

        return 'Email has been verified';
    }
}

Tambahkan model User MustVerifyEmail

use Illuminate\Contracts\Auth\MustVerifyEmail;

Jangan lupa tambahkan juga di class

class User extends Authenticatable implements MustVerifyEmail

Tambahkan di routing api.php

Route::post('email/verification-notification', [EmailVerificationController::class'
Route::get('email/verify/{id}', [EmailVerificationController::class'verify'])->name('verification.verify');

Komentar

Postingan populer dari blog ini

Install adb on mac os

Delete your old installation (optional)  rm -rf ~/.android-sdk-macosx/ Download  adb   Go folder download  cd Download Unzip file unzip platform-tools-latest*. zip Create and move adb mkdir ~/.android-sdk-macosx mv platform-tools/ ~/.android-sdk-macosx/platform-tools Add platform your path echo 'export PATH=$PATH:~/.android-sdk-macosx/platform-tools/' >> ~/.bash_profile Refresh your bash profile (restart terminal) source ~/.bash_profile Start adb devices adb devices

Emulator PS1/ PSX

Emulator PS1/PSX adalah emulator anpa ada pengaturan BIOS karena sudah mencakup BIOS. Aplikasi pengganti Play Station pemutar CD, biasanya berupa file ISO, BIN, IMG, CUE, MDS, MDF. Keunggulannya bisa memainkan dengan joystick, mouse, keyborad. Caranya: - Klik Config - Game pad - Port 1 - Pad 1. Untuk File  Download Disini !!!  atau  Download