1. Go to this page and download the library: Download sadiqsalau/laravel-otp library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
sadiqsalau / laravel-otp example snippets
namespace App\Otp;
use SadiqSalau\LaravelOtp\Contracts\OtpInterface as Otp;
use Illuminate\Auth\Events\Registered;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use App\Models\User;
class UserRegistrationOtp implements Otp
{
/**
* Constructs Otp class
*/
public function __construct(
public string $name,
public string $email,
public string $password
) {
//
}
/**
* Processes the Otp
*
* @return User
*/
public function process()
{
/** @var User */
$user = User::unguarded(function () {
return User::create([
'name' => $this->name,
'email' => $this->email,
'password' => Hash::make($this->password),
'email_verified_at' => now(),
]);
});
event(new Registered($user));
Auth::login($user);
return $user;
}
}
use SadiqSalau\LaravelOtp\Facades\Otp;
Otp::identifier($identifier)->send($otp, $notifiable);
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Notification;
use Illuminate\Http\Request;
use Illuminate\Validation\Rules;
use SadiqSalau\LaravelOtp\Facades\Otp;
use App\Models\User;
use App\Otp\UserRegistrationOtp;
Route::post('/register', function(Request $request){
$request->validate([
'name' => ['rd: $request->password
),
Notification::route('mail', $request->email)
);
return __($otp['status']);
});
['status' => Otp::OTP_SENT] // Success: otp.sent
use SadiqSalau\LaravelOtp\Facades\Otp;
Otp::identifier($identifier)->attempt($code);
use Illuminate\Support\Facades\Route;
use Illuminate\Http\Request;
use SadiqSalau\LaravelOtp\Facades\Otp;
Route::post('/otp/verify', function (Request $request) {
$request->validate([
'email' => ['}
return $otp['result'];
});
use SadiqSalau\LaravelOtp\Facades\Otp;
Otp::identifier($identifier)->check($code);
use Illuminate\Support\Facades\Route;
use Illuminate\Http\Request;
use SadiqSalau\LaravelOtp\Facades\Otp;
Route::post('/otp/resend', function (Request $request) {
$request->validate([
'email' => ['
use SadiqSalau\LaravelOtp\Facades\Otp;
Otp::identifier($request->email)->send(...);
use SadiqSalau\LaravelOtp\Facades\Otp;
Otp::identifier($identifier)->send(...);
Otp::identifier($identifier)->attempt(...);
Otp::identifier($identifier)->update();
Otp::identifier($identifier)->check(...);
return [
/*
|--------------------------------------------------------------------------
| OTP Language Lines
|--------------------------------------------------------------------------
|
| The following language lines are used by the OTP broker
|
*/
'sent' => 'We have sent your OTP code!',
'empty' => 'No OTP!',
'matched' => 'OTP code verified!',
'mismatched' => 'Mismatched OTP code!',
'processed' => 'OTP was successfully processed!'
];