Files
newznab-tmux/app/Actions/Passkeys/GeneratePasskeyAuthenticationOptionsAction.php
T
2026-05-08 19:41:51 +02:00

33 lines
941 B
PHP

<?php
declare(strict_types=1);
namespace App\Actions\Passkeys;
use App\Support\Passkeys\RelyingPartyIdResolver;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Str;
use Spatie\LaravelPasskeys\Actions\GeneratePasskeyAuthenticationOptionsAction as BaseGeneratePasskeyAuthenticationOptionsAction;
use Spatie\LaravelPasskeys\Support\Serializer;
use Webauthn\PublicKeyCredentialRequestOptions;
final class GeneratePasskeyAuthenticationOptionsAction extends BaseGeneratePasskeyAuthenticationOptionsAction
{
public function execute(): string
{
$rpId = RelyingPartyIdResolver::resolve();
$options = new PublicKeyCredentialRequestOptions(
challenge: Str::random(),
rpId: $rpId,
allowCredentials: [],
);
$options = Serializer::make()->toJson($options);
Session::put('passkey-authentication-options', $options);
return $options;
}
}