Skip to content

Commit d7d5253

Browse files
ynojimarwinch
authored andcommitted
Change attestation in PublicKeyCredentialCreationOptions to none
The attestation option in PublicKeyCredentialCreationOptions is a parameter that controls whether to request attestation from the security key. However, Spring Security Passkeys currently doesn't implement attestation verification. Therefore, requesting attestation is unnecessary. Specifying `direct` to request attestation may trigger browsers to display additional privacy related dialog to users, so it is best to avoid specifying `direct` unnecessarily.
1 parent 99cc65d commit d7d5253

File tree

4 files changed

+4
-4
lines changed

4 files changed

+4
-4
lines changed

web/src/main/java/org/springframework/security/web/webauthn/management/Webauthn4JRelyingPartyOperations.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ public PublicKeyCredentialCreationOptions createPublicKeyCredentialCreationOptio
183183
List<CredentialRecord> credentialRecords = this.userCredentials.findByUserId(userEntity.getId());
184184

185185
PublicKeyCredentialCreationOptions options = PublicKeyCredentialCreationOptions.builder()
186-
.attestation(AttestationConveyancePreference.DIRECT)
186+
.attestation(AttestationConveyancePreference.NONE)
187187
.pubKeyCredParams(PublicKeyCredentialParameters.EdDSA, PublicKeyCredentialParameters.ES256,
188188
PublicKeyCredentialParameters.RS256)
189189
.authenticatorSelection(authenticatorSelection)

web/src/test/java/org/springframework/security/web/webauthn/api/TestPublicKeyCredentialCreationOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public static PublicKeyCredentialCreationOptions.PublicKeyCredentialCreationOpti
4040
ImmutableAuthenticationExtensionsClientInputs clientInputs = new ImmutableAuthenticationExtensionsClientInputs(
4141
ImmutableAuthenticationExtensionsClientInput.credProps);
4242
return PublicKeyCredentialCreationOptions.builder()
43-
.attestation(AttestationConveyancePreference.DIRECT)
43+
.attestation(AttestationConveyancePreference.NONE)
4444
.user(userEntity)
4545
.pubKeyCredParams(PublicKeyCredentialParameters.EdDSA, PublicKeyCredentialParameters.ES256,
4646
PublicKeyCredentialParameters.RS256)

web/src/test/java/org/springframework/security/web/webauthn/jackson/JacksonTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ void readAuthenticationExtensionsClientOutputsWhenFieldAfter() throws Exception
149149
void writePublicKeyCredentialCreationOptions() throws Exception {
150150
String expected = """
151151
{
152-
"attestation": "direct",
152+
"attestation": "none",
153153
"authenticatorSelection": {
154154
"residentKey": "required"
155155
},

web/src/test/java/org/springframework/security/web/webauthn/registration/PublicKeyCredentialCreationOptionsFilterTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ void doFilterWhenNoCredentials() throws Exception {
153153
"residentKey": "required",
154154
"userVerification": "preferred"
155155
},
156-
"attestation": "direct",
156+
"attestation": "none",
157157
"extensions": {
158158
"credProps": true
159159
}

0 commit comments

Comments
 (0)