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