OTPZ adalah sebuah paket Laravel yang dibuat oleh Ben Bjurstrom (pembuat Prezet) yang menyediakan kata sandi sekali pakai (OTP) faktor pertama yang aman untuk aplikasi Laravel. Ini memungkinkan pengguna untuk memasukkan alamat email mereka dan menerima kode sekali pakai untuk masuk, sebagai ganti kata sandi.
Fitur Utama
- Pembatasan Laju
- Waktu kedaluwarsa yang dapat dikonfigurasi
- Membatalkan OTP setelah penggunaan pertama
- Mengunci OTP ke sesi pengguna
- Membatalkan OTP setelah terlalu banyak percobaan gagal
- Melihat pesan kesalahan yang detail
- Kustomisasi templat email yang digunakan
- Log yang dapat diaudit
Untuk pengaturan, instal paket melalui Composer:
Bash
composer require benbjurstrom/otpz
Kemudian publikasikan dan jalankan migrasi yang disertakan:
Bash
php artisan vendor:publish --tag="otpz-migrations"
php artisan migrate
Selanjutnya, tambahkan antarmuka dan trait paket ini ke model User
Authenticatable Anda
PHP
<?php
// app/Models/User.php
namespace App\Models;
//...
use BenBjurstrom\Otpz\Models\Concerns\HasOtps;
use BenBjurstrom\Otpz\Models\Concerns\Otpable;
class User extends Authenticatable implements Otpable
{
use HasFactory, Notifiable, HasOtps;
// ...
}
Dan terakhir tambahkan rute yang disediakan oleh paket ini dalam file routes/web.php
Anda:
PHP
Route::otpRoutes();
Secara opsional, Anda dapat mempublikasikan tampilan dan konfigurasi bawaan untuk lebih lanjut melakukan kustomisasi:
Bash
php artisan vendor:publish --tag="otpz-views"
php artisan vendor:publish --tag="otpz-config"
Paket ini bekerja dengan Laravel Breeze baik dengan Livewire maupun Inertia, dan petunjuk lebih lanjut disediakan tentang cara memperbarui metode LoginRequest::authenticate
masing-masing dengan metode send email
untuk menjalankan action SendOtp
.
Jika Anda mencari cara cepat untuk memberikan pengguna akses yang aman dan sementara atau sekali pakai ke sistem, maka OTPZ mungkin adalah paket yang Anda cari.
Pelajari lebih lanjut tentang paket ini dan lihat kode sumbernya di GitHub.