You've already forked lubo_comment_query
WebAuthn初步接好
This commit is contained in:
50
app/WebAuthn/WebAuthnService.php
Normal file
50
app/WebAuthn/WebAuthnService.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace App\WebAuthn;
|
||||
|
||||
use App\WebAuthn\Repository\PublicKeyCredentialSourceRepositoryImpl;
|
||||
use Cose\Algorithms;
|
||||
use Webauthn\AuthenticatorSelectionCriteria;
|
||||
use Webauthn\PublicKeyCredentialCreationOptions;
|
||||
use Webauthn\PublicKeyCredentialParameters;
|
||||
use Webauthn\PublicKeyCredentialRpEntity;
|
||||
use Webauthn\PublicKeyCredentialSourceRepository;
|
||||
use Webauthn\PublicKeyCredentialUserEntity;
|
||||
|
||||
class WebAuthnService
|
||||
{
|
||||
private static $rpName = "开心鄢的录播查询小站";
|
||||
private static $rpId = "localhost";
|
||||
private static $timeout = 45000;
|
||||
private static $publicKeyCredentialSourceRepositoryInstance = null;
|
||||
public static function createRequestOptions(PublicKeyCredentialUserEntity $userEntity, string $challenge): PublicKeyCredentialCreationOptions
|
||||
{
|
||||
$publicKeyCredentialParametersList = [
|
||||
new PublicKeyCredentialParameters("public-key", Algorithms::COSE_ALGORITHM_ES256),
|
||||
new PublicKeyCredentialParameters("public-key", Algorithms::COSE_ALGORITHM_RS256),
|
||||
];
|
||||
return new PublicKeyCredentialCreationOptions(
|
||||
static::getRpEntity(),
|
||||
$userEntity,
|
||||
$challenge,
|
||||
$publicKeyCredentialParametersList,
|
||||
static::$timeout
|
||||
);
|
||||
}
|
||||
|
||||
public static function getPublicKeyCredentialSourceRepository(): PublicKeyCredentialSourceRepository
|
||||
{
|
||||
if (static::$publicKeyCredentialSourceRepositoryInstance === null) {
|
||||
static::$publicKeyCredentialSourceRepositoryInstance = new PublicKeyCredentialSourceRepositoryImpl();
|
||||
}
|
||||
return static::$publicKeyCredentialSourceRepositoryInstance;
|
||||
}
|
||||
|
||||
private static function getRpEntity(): PublicKeyCredentialRpEntity
|
||||
{
|
||||
return new PublicKeyCredentialRpEntity(
|
||||
static::$rpName,
|
||||
static::$rpId
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user