PHP code example of betterauth / laravel
1. Go to this page and download the library: Download betterauth/laravel 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/ */
betterauth / laravel example snippets
use BetterAuth\Laravel\Facades\BetterAuth;
// Register
$result = BetterAuth::signUp([
'email' => '[email protected] ',
'password' => 'securepassword',
]);
// Login
$result = BetterAuth::signIn('[email protected] ', 'password');
// → access_token, refresh_token, user
// Verify token
$payload = BetterAuth::verify($accessToken);
// Protected routes
Route::middleware('auth:betterauth')->get('/me', fn() => auth()->user());
return [
'mode' => 'api', // 'api', 'session', 'hybrid'
'secret' => env('BETTERAUTH_SECRET'),
'tokens' => [
'access_lifetime' => 3600, // 1 hour
'refresh_lifetime' => 2592000, // 30 days
],
'user_model' => App\Models\User::class,
'id_strategy' => 'uuid', // 'uuid' or 'int'
];
use BetterAuth\Laravel\Models\Traits\HasBetterAuth;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use HasBetterAuth;
protected $fillable = ['email', 'password', 'name'];
}
$user->getRoles(); // ['ROLE_USER', 'ROLE_ADMIN']
$user->hasRole('ROLE_ADMIN'); // true/false
$user->addRole('ROLE_ADMIN');
$user->removeRole('ROLE_ADMIN');
$user->createTokens(); // Generate new token pair
$user->revokeAllTokens(); // Revoke all refresh tokens
// config/betterauth.php
'two_factor' => [
'enabled' => true,
'issuer' => 'My App',
],
use BetterAuth\Laravel\Services\TwoFactorService;
$twoFactor = app(TwoFactorService::class);
// Setup
$setup = $twoFactor->generateSecret($user);
// → secret, qr_code_url, uri
// Enable
$result = $twoFactor->verifyAndEnable($user, '123456');
// → enabled, recovery_codes
// Verify
$valid = $twoFactor->verify($user, '123456');
// config/betterauth.php
'magic_link' => [
'enabled' => true,
'expire' => 15, // minutes
],
use BetterAuth\Laravel\Services\MagicLinkService;
$magicLink = app(MagicLinkService::class);
$magicLink->send('[email protected] ');
// EventServiceProvider.php
protected $listen = [
\BetterAuth\Laravel\Events\UserRegistered::class => [
\App\Listeners\SendWelcomeEmail::class,
],
];
// Require authentication
Route::middleware('auth:betterauth')->group(function () {
// Protected routes
});
// Require email verification
Route::middleware(['auth:betterauth', EnsureEmailIsVerified::class])->group(...);
// Require 2FA enabled
Route::middleware(['auth:betterauth', RequiresTwoFactor::class])->group(...);
bash
php artisan betterauth:install
bash
php artisan betterauth:secret