You've already forked lubo_comment_query
							
							
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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
 | |
|         );
 | |
|     }
 | |
| }
 |