ν¨μ€ν€ λ‘κ·ΈμΈ κ³ λν
ν¨μ€ν€ μμ± μκ³ λ¦¬μ¦
ν¨μ€ν€ λ±λ‘ μ PublicKeyCredentialCreationOptionsμ pubKeyCredParams λ₯Ό ν΅ν΄ RP μλ²μμ μ νΈνλ 곡κ°ν€ μκ³ λ¦¬μ¦ λͺ©λ‘μ μ 곡ν μ μλλ°μ. μ΄λ 곡κ°ν€ μκ³ λ¦¬μ¦ λͺ©λ‘μλ ES256κ³Ό RS256μ λ°λμ ν¬ν¨νλκ² μ’μ΅λλ€. κ·Έ μ΄μ λ λλΆλΆ ES256λ₯Ό μ§μνκ³ μΌλΆλ RS256λ₯Ό μ§μνλ€κ³ νκΈ° λλ¬Έμ λλ€.
ν¨μ€ν€ μ 곡μ 체 νμ
Determine the passkey provider with AAGUIDμμ μκ°νλ Passkey Provider AAGUIDsμλ μΌλΆ μΈμ¦ κΈ°κΈ°μ λν μ΄λ¦κ³Ό μμ΄μ½ μ 보λ₯Ό ν¬ν¨νκ³ μμ΅λλ€. Passkeys Authenticator AAGUID Explorerλ₯Ό μ΄ν΄λ³΄λ©΄ λλΆλΆμ μ¬μ©μλ μ£Όλ‘ μλμ μΈμ¦ κΈ°κΈ°λ₯Ό μ¬μ©ν κ² κ°μ΅λλ€.
Authenticator | AAGUID |
---|---|
Google Password Manager | ea9b8d66-4d01-1d21-3ce4-b6b48cb575d4 |
Chrome on Mac | adce0002-35bc-c60a-648b-0b25f1f05503 |
iCloud Keychain | fbfc3007-154e-4ecc-8c0b-6e020557d7bd |
Samsung Pass | 53414d53-554e-4700-0000-000000000000 |
AAGUID UUID λ¬Έμμ΄
java-webauthn-server λΌμ΄λΈλ¬λ¦¬μ AAGUID ν΄λμ€λ₯Ό ν΅ν΄ ByteArrayλ‘ κ΅¬μ±λ aaguidλ₯Ό RFC4122 νμ€μ UUID νμμ λ¬Έμμ΄λ‘ λ³ννμ¬ μ μ₯ν μ μμ΅λλ€. ν¨μ€ν€ λ±λ‘ μ΄νμ λ³νμ§ μλ νλͺ©μ΄λ―λ‘ ν¨μ€ν€ λ±λ‘ κ³Όμ μμ Base64URL 보λ€λ UUID ννλ‘ μ μ₯ν΄λλκ² νλ‘ νΈμλμμ μ¬μ©νκΈ°μλ λ νΈν κ² κ°λ€μ. μλμ κ°μ΄ AAGUIDμ asGuidString ν¨μλ₯Ό νΈμΆν΄μ κ°μ Έμ¬ μ μμ΅λλ€.
RegistrationResult result = relyingParty.finishRegistration(
FinishRegistrationOptions.builder()
.request(publicKeyCredentialCreationOptions)
.response(publicKeyCredential)
.build());
String aaguid = new AAGUID(result.getAaguid()).asGuidString();
ν¨μ€ν€ μλ³ κ°λ₯ν μ΄λ¦ μ€μ
μ νλ©΄μ κΉνλΈμμ ν¨μ€ν€ λ±λ‘ μ ν¨μ€ν€μ λν μ΄λ¦μ μ λ ₯νλλ‘ μꡬνλ λ¨κ³μ λλ€. μ΄μ κ°μ΄ ν¨μ€ν€ λ±λ‘ μ μ¬μ©μμκ² λ±λ‘νλ €λ μΈμ¦ κΈ°κΈ°μ λν μ΄λ¦μ μ λ ₯νλλ‘ μꡬνκ±°λ μ¬μ©μμκ² κΈ°κΈ°μ λν μ΄λ¦μ λ³λλ‘ μ λ ₯νμ§ μκ³ Authenticator 1 κ³Ό κ°μ΄ νμ¬ λ±λ‘λ κΈ°κΈ°μ μλ₯Ό ν λλ‘ κΈ°λ³Έκ°μ μ 곡νκ³ μ¬μ©μκ° λ³λλ‘ μ΄λ¦μ μμ ν μ μλλ‘ νλκ² μ’μ΅λλ€.
ν¨μ€ν€ λ±λ‘ μ μ ν
μΌλ°μ μΌλ‘ ν¨μ€ν€λ‘ λ±λ‘ν μ μλ κΈ°κΈ°μ λν μ μ½μ νμνμ§ μμ΅λλ€λ§ μ¬μ©μκ° λ무 λ§μ ν¨μ€ν€λ₯Ό λ±λ‘νλ κ²μ μ€νλ € 보μ μ μ’μ§ μμ μ μμ΅λλ€. κΈ°λ³Έμ μΌλ‘ μ¬μ©μμ λν ν¨μ€ν€λ 10κ° μ΄λ΄λ‘ μ ννκ³ μ λ§λ‘ μ¬μ©μκ° μꡬν λ νμ₯νλ κ²μ κΆμ₯ν©λλ€. μλ₯Ό λ€μ΄, μ μ κ°μ μ¬μ©μλ μΌμ± κ°€λμ μ€λ§νΈν°μ μΌμ± ν¨μ€λ§ μ¬μ©νμ¬ ν¨μ€ν€λ₯Ό λ±λ‘ν μ μμ΅λλ€.
Passkeys Cheat Sheet for Developersμμ μ¬μ©μμκ² λ λμ ν¨μ€ν€λ₯Ό μ 곡νκΈ° μν λ°©λ²μ λν΄μ μ°Ύμ보μΈμ.