Files
einundzwanzig-verein/app/Auth/NostrUserProvider.php
user 9c1cea5868 🔒 Add Nostr authentication support with custom guard and user provider
🛠️ Integrate Nostr auth across relevant components and views
📦 Update config, routes, and service provider for Nostr auth
2025-11-20 23:10:20 +01:00

44 lines
1.0 KiB
PHP

<?php
namespace App\Auth;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Contracts\Auth\UserProvider;
class NostrUserProvider implements UserProvider
{
public function retrieveById($identifier): ?Authenticatable
{
return new NostrUser($identifier);
}
public function retrieveByToken($identifier, $token): ?Authenticatable
{
return null;
}
public function updateRememberToken(Authenticatable $user, $token): void
{
//
}
public function retrieveByCredentials(array $credentials): ?Authenticatable
{
if (isset($credentials['pubkey'])) {
return new NostrUser($credentials['pubkey']);
}
return null;
}
public function validateCredentials(Authenticatable $user, array $credentials): bool
{
return $user instanceof NostrUser && $user->getPubkey() === ($credentials['pubkey'] ?? null);
}
public function rehashPasswordIfRequired(Authenticatable $user, array $credentials, bool $force = false): void
{
//
}
}