diff --git a/NEWS b/NEWS index 15348ca53..0c3e239ec 100644 --- a/NEWS +++ b/NEWS @@ -48,6 +48,7 @@ Fixes: * Added missing JavaDoc for `id` and `name` methods of initial `RelyingPartyIdentityBuilder` stages. +* Added and improved JavaDoc for required builder methods. == Version 1.10.1 == diff --git a/webauthn-server-core/src/main/java/com/yubico/webauthn/AssertionRequest.java b/webauthn-server-core/src/main/java/com/yubico/webauthn/AssertionRequest.java index 745fd1443..13f29b89b 100644 --- a/webauthn-server-core/src/main/java/com/yubico/webauthn/AssertionRequest.java +++ b/webauthn-server-core/src/main/java/com/yubico/webauthn/AssertionRequest.java @@ -148,6 +148,9 @@ public static class MandatoryStages { * {@link * AssertionRequestBuilder#publicKeyCredentialRequestOptions(PublicKeyCredentialRequestOptions) * publicKeyCredentialRequestOptions} is a required parameter. + * + * @see + * AssertionRequestBuilder#publicKeyCredentialRequestOptions(PublicKeyCredentialRequestOptions) */ public AssertionRequestBuilder publicKeyCredentialRequestOptions( PublicKeyCredentialRequestOptions publicKeyCredentialRequestOptions) { diff --git a/webauthn-server-core/src/main/java/com/yubico/webauthn/FinishAssertionOptions.java b/webauthn-server-core/src/main/java/com/yubico/webauthn/FinishAssertionOptions.java index 010ee68b4..fa126741b 100644 --- a/webauthn-server-core/src/main/java/com/yubico/webauthn/FinishAssertionOptions.java +++ b/webauthn-server-core/src/main/java/com/yubico/webauthn/FinishAssertionOptions.java @@ -79,12 +79,24 @@ public static class FinishAssertionOptionsBuilder { public static class MandatoryStages { private final FinishAssertionOptionsBuilder builder = new FinishAssertionOptionsBuilder(); + /** + * {@link FinishAssertionOptionsBuilder#request(AssertionRequest) request} is a required + * parameter. + * + * @see FinishAssertionOptionsBuilder#request(AssertionRequest) + */ public Step2 request(AssertionRequest request) { builder.request(request); return new Step2(); } public class Step2 { + /** + * {@link FinishAssertionOptionsBuilder#response(PublicKeyCredential) response} is a + * required parameter. + * + * @see FinishAssertionOptionsBuilder#response(PublicKeyCredential) + */ public FinishAssertionOptionsBuilder response( PublicKeyCredential response) { diff --git a/webauthn-server-core/src/main/java/com/yubico/webauthn/FinishRegistrationOptions.java b/webauthn-server-core/src/main/java/com/yubico/webauthn/FinishRegistrationOptions.java index 666f947c7..8dbc3cff2 100644 --- a/webauthn-server-core/src/main/java/com/yubico/webauthn/FinishRegistrationOptions.java +++ b/webauthn-server-core/src/main/java/com/yubico/webauthn/FinishRegistrationOptions.java @@ -82,12 +82,24 @@ public static class MandatoryStages { private final FinishRegistrationOptionsBuilder builder = new FinishRegistrationOptionsBuilder(); + /** + * {@link FinishRegistrationOptionsBuilder#request(PublicKeyCredentialCreationOptions) + * request} is a required parameter. + * + * @see FinishRegistrationOptionsBuilder#request(PublicKeyCredentialCreationOptions) + */ public Step2 request(PublicKeyCredentialCreationOptions request) { builder.request(request); return new Step2(); } public class Step2 { + /** + * {@link FinishRegistrationOptionsBuilder#response(PublicKeyCredential) response} is a + * required parameter. + * + * @see FinishRegistrationOptionsBuilder#response(PublicKeyCredential) + */ public FinishRegistrationOptionsBuilder response( PublicKeyCredential< AuthenticatorAttestationResponse, ClientRegistrationExtensionOutputs> diff --git a/webauthn-server-core/src/main/java/com/yubico/webauthn/RegisteredCredential.java b/webauthn-server-core/src/main/java/com/yubico/webauthn/RegisteredCredential.java index 75769978c..0c2c787fd 100644 --- a/webauthn-server-core/src/main/java/com/yubico/webauthn/RegisteredCredential.java +++ b/webauthn-server-core/src/main/java/com/yubico/webauthn/RegisteredCredential.java @@ -114,12 +114,24 @@ public static class RegisteredCredentialBuilder { public static class MandatoryStages { private RegisteredCredentialBuilder builder = new RegisteredCredentialBuilder(); + /** + * {@link RegisteredCredentialBuilder#credentialId(ByteArray) credentialId} is a required + * parameter. + * + * @see RegisteredCredentialBuilder#credentialId(ByteArray) + */ public Step2 credentialId(ByteArray credentialId) { builder.credentialId(credentialId); return new Step2(); } public class Step2 { + /** + * {@link RegisteredCredentialBuilder#userHandle(ByteArray) userHandle} is a required + * parameter. + * + * @see RegisteredCredentialBuilder#userHandle(ByteArray) + */ public Step3 userHandle(ByteArray userHandle) { builder.userHandle(userHandle); return new Step3(); @@ -127,6 +139,12 @@ public Step3 userHandle(ByteArray userHandle) { } public class Step3 { + /** + * {@link RegisteredCredentialBuilder#publicKeyCose(ByteArray) publicKeyCose} is a required + * parameter. + * + * @see RegisteredCredentialBuilder#publicKeyCose(ByteArray) + */ public RegisteredCredentialBuilder publicKeyCose(ByteArray publicKeyCose) { return builder.publicKeyCose(publicKeyCose); } diff --git a/webauthn-server-core/src/main/java/com/yubico/webauthn/StartRegistrationOptions.java b/webauthn-server-core/src/main/java/com/yubico/webauthn/StartRegistrationOptions.java index 665f78b6e..79bea623e 100644 --- a/webauthn-server-core/src/main/java/com/yubico/webauthn/StartRegistrationOptions.java +++ b/webauthn-server-core/src/main/java/com/yubico/webauthn/StartRegistrationOptions.java @@ -95,6 +95,11 @@ public static class StartRegistrationOptionsBuilder { public static class MandatoryStages { private final StartRegistrationOptionsBuilder builder = new StartRegistrationOptionsBuilder(); + /** + * {@link StartRegistrationOptionsBuilder#user(UserIdentity) user} is a required parameter. + * + * @see StartRegistrationOptionsBuilder#user(UserIdentity) + */ public StartRegistrationOptionsBuilder user(UserIdentity user) { return builder.user(user); } diff --git a/webauthn-server-core/src/main/java/com/yubico/webauthn/attestation/Attestation.java b/webauthn-server-core/src/main/java/com/yubico/webauthn/attestation/Attestation.java index 382ac858c..aa2d205b6 100644 --- a/webauthn-server-core/src/main/java/com/yubico/webauthn/attestation/Attestation.java +++ b/webauthn-server-core/src/main/java/com/yubico/webauthn/attestation/Attestation.java @@ -112,6 +112,11 @@ public static class AttestationBuilder { public static class MandatoryStages { private final AttestationBuilder builder = new AttestationBuilder(); + /** + * {@link AttestationBuilder#trusted(boolean) trusted} is a required parameter. + * + * @see AttestationBuilder#trusted(boolean) + */ public AttestationBuilder trusted(boolean trusted) { return builder.trusted(trusted); } diff --git a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/AuthenticatorAssertionResponse.java b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/AuthenticatorAssertionResponse.java index 788b0a471..59cb89fc7 100644 --- a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/AuthenticatorAssertionResponse.java +++ b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/AuthenticatorAssertionResponse.java @@ -112,12 +112,24 @@ public static class MandatoryStages { private final AuthenticatorAssertionResponseBuilder builder = new AuthenticatorAssertionResponseBuilder(); + /** + * {@link AuthenticatorAssertionResponseBuilder#authenticatorData(ByteArray) + * authenticatorData} is a required parameter. + * + * @see AuthenticatorAssertionResponseBuilder#authenticatorData(ByteArray) + */ public Step2 authenticatorData(ByteArray authenticatorData) { builder.authenticatorData(authenticatorData); return new Step2(); } public class Step2 { + /** + * {@link AuthenticatorAssertionResponseBuilder#clientDataJSON(ByteArray) clientDataJSON} is + * a required parameter. + * + * @see AuthenticatorAssertionResponseBuilder#clientDataJSON(ByteArray) + */ public Step3 clientDataJSON(ByteArray clientDataJSON) { builder.clientDataJSON(clientDataJSON); return new Step3(); @@ -125,6 +137,12 @@ public Step3 clientDataJSON(ByteArray clientDataJSON) { } public class Step3 { + /** + * {@link AuthenticatorAssertionResponseBuilder#signature(ByteArray) signature} is a + * required parameter. + * + * @see AuthenticatorAssertionResponseBuilder#signature(ByteArray) + */ public AuthenticatorAssertionResponseBuilder signature(ByteArray signature) { return builder.signature(signature); } diff --git a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/AuthenticatorAttestationResponse.java b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/AuthenticatorAttestationResponse.java index ee8d1a108..918ca1f3a 100644 --- a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/AuthenticatorAttestationResponse.java +++ b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/AuthenticatorAttestationResponse.java @@ -122,12 +122,24 @@ public static class MandatoryStages { private final AuthenticatorAttestationResponseBuilder builder = new AuthenticatorAttestationResponseBuilder(); + /** + * {@link AuthenticatorAttestationResponseBuilder#attestationObject(ByteArray) + * attestationObject} is a required parameter. + * + * @see AuthenticatorAttestationResponseBuilder#attestationObject(ByteArray) + */ public Step2 attestationObject(ByteArray attestationObject) { builder.attestationObject(attestationObject); return new Step2(); } public class Step2 { + /** + * {@link AuthenticatorAttestationResponseBuilder#clientDataJSON(ByteArray) clientDataJSON} + * is a required parameter. + * + * @see AuthenticatorAttestationResponseBuilder#clientDataJSON(ByteArray) + */ public AuthenticatorAttestationResponseBuilder clientDataJSON(ByteArray clientDataJSON) { return builder.clientDataJSON(clientDataJSON); } diff --git a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredential.java b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredential.java index ea410d5ca..8570fe7e9 100644 --- a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredential.java +++ b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredential.java @@ -120,12 +120,23 @@ private MandatoryStages start() { public class MandatoryStages { private final PublicKeyCredentialBuilder builder; + /** + * {@link PublicKeyCredentialBuilder#id(ByteArray) id} is a required parameter. + * + * @see PublicKeyCredentialBuilder#id(ByteArray) + */ public Step2 id(ByteArray id) { builder.id(id); return new Step2(); } public class Step2 { + /** + * {@link PublicKeyCredentialBuilder#response(AuthenticatorResponse) response} is a required + * parameter. + * + * @see PublicKeyCredentialBuilder#response(AuthenticatorResponse) + */ public Step3 response(A response) { builder.response(response); return new Step3(); @@ -133,6 +144,12 @@ public Step3 response(A response) { } public class Step3 { + /** + * {@link PublicKeyCredentialBuilder#clientExtensionResults(ClientExtensionOutputs) + * clientExtensionResults} is a required parameter. + * + * @see PublicKeyCredentialBuilder#clientExtensionResults(ClientExtensionOutputs) + */ public PublicKeyCredentialBuilder clientExtensionResults(B clientExtensionResults) { return builder.clientExtensionResults(clientExtensionResults); } diff --git a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialCreationOptions.java b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialCreationOptions.java index 4a82a96fd..a879a819a 100644 --- a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialCreationOptions.java +++ b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialCreationOptions.java @@ -233,30 +233,50 @@ public static class MandatoryStages { private PublicKeyCredentialCreationOptionsBuilder builder = new PublicKeyCredentialCreationOptionsBuilder(); - /** @see PublicKeyCredentialCreationOptions#getRp() */ + /** + * {@link PublicKeyCredentialCreationOptionsBuilder#rp(RelyingPartyIdentity) rp} is a required + * parameter. + * + * @see PublicKeyCredentialCreationOptionsBuilder#rp(RelyingPartyIdentity) + */ public Step2 rp(RelyingPartyIdentity rp) { builder.rp(rp); return new Step2(); } - /** @see PublicKeyCredentialCreationOptions#getUser() */ public class Step2 { + /** + * {@link PublicKeyCredentialCreationOptionsBuilder#user(UserIdentity) user} is a required + * parameter. + * + * @see PublicKeyCredentialCreationOptionsBuilder#user(UserIdentity) + */ public Step3 user(UserIdentity user) { builder.user(user); return new Step3(); } } - /** @see PublicKeyCredentialCreationOptions#getChallenge() */ public class Step3 { + /** + * {@link PublicKeyCredentialCreationOptionsBuilder#challenge(ByteArray) challenge} is a + * required parameter. + * + * @see PublicKeyCredentialCreationOptionsBuilder#challenge(ByteArray) + */ public Step4 challenge(ByteArray challenge) { builder.challenge(challenge); return new Step4(); } } - /** @see PublicKeyCredentialCreationOptions#getPubKeyCredParams() */ public class Step4 { + /** + * {@link PublicKeyCredentialCreationOptionsBuilder#pubKeyCredParams(List) pubKeyCredParams} + * is a required parameter. + * + * @see PublicKeyCredentialCreationOptionsBuilder#pubKeyCredParams(List) + */ public PublicKeyCredentialCreationOptionsBuilder pubKeyCredParams( List pubKeyCredParams) { return builder.pubKeyCredParams(pubKeyCredParams); diff --git a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialDescriptor.java b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialDescriptor.java index 0b1ab7978..87548b099 100644 --- a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialDescriptor.java +++ b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialDescriptor.java @@ -115,6 +115,11 @@ public static class MandatoryStages { private PublicKeyCredentialDescriptorBuilder builder = new PublicKeyCredentialDescriptorBuilder(); + /** + * {@link PublicKeyCredentialDescriptorBuilder#id(ByteArray) id} is a required parameter. + * + * @see PublicKeyCredentialDescriptorBuilder#id(ByteArray) + */ public PublicKeyCredentialDescriptorBuilder id(ByteArray id) { return builder.id(id); } diff --git a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialParameters.java b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialParameters.java index 8a7ca5631..fed7c04b6 100644 --- a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialParameters.java +++ b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialParameters.java @@ -95,6 +95,12 @@ public static class MandatoryStages { private PublicKeyCredentialParametersBuilder builder = new PublicKeyCredentialParametersBuilder(); + /** + * {@link PublicKeyCredentialParametersBuilder#alg(COSEAlgorithmIdentifier) alg} is a required + * parameter. + * + * @see PublicKeyCredentialParametersBuilder#alg(COSEAlgorithmIdentifier) + */ public PublicKeyCredentialParametersBuilder alg(COSEAlgorithmIdentifier alg) { return builder.alg(alg); } diff --git a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialRequestOptions.java b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialRequestOptions.java index aeee118be..63dd9d1b5 100644 --- a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialRequestOptions.java +++ b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/PublicKeyCredentialRequestOptions.java @@ -161,6 +161,12 @@ public static class MandatoryStages { private PublicKeyCredentialRequestOptionsBuilder builder = new PublicKeyCredentialRequestOptionsBuilder(); + /** + * {@link PublicKeyCredentialRequestOptionsBuilder#challenge(ByteArray) challenge} is a + * required parameter. + * + * @see PublicKeyCredentialRequestOptionsBuilder#challenge(ByteArray) + */ public PublicKeyCredentialRequestOptionsBuilder challenge(ByteArray challenge) { return builder.challenge(challenge); } diff --git a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/RelyingPartyIdentity.java b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/RelyingPartyIdentity.java index 9b720ca31..865c0d280 100644 --- a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/RelyingPartyIdentity.java +++ b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/RelyingPartyIdentity.java @@ -109,6 +109,7 @@ public static class MandatoryStages { * href="https://www.w3.org/TR/2021/REC-webauthn-2-20210408/#scope">RP ID: scope for * details and examples. * + * @see RelyingPartyIdentityBuilder#id(String) * @see RP ID * @see RP ID: scope */ @@ -122,6 +123,8 @@ public class Step2 { * The human-palatable name of the Relaying Party. * *

For example: "ACME Corporation", "Wonderful Widgets, Inc." or "ОАО Примертех". + * + * @see RelyingPartyIdentityBuilder#name(String) */ public RelyingPartyIdentityBuilder name(String name) { return builder.name(name); diff --git a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/UserIdentity.java b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/UserIdentity.java index 17eb17b01..2fd2913d4 100644 --- a/webauthn-server-core/src/main/java/com/yubico/webauthn/data/UserIdentity.java +++ b/webauthn-server-core/src/main/java/com/yubico/webauthn/data/UserIdentity.java @@ -139,12 +139,22 @@ public static class UserIdentityBuilder { public static class MandatoryStages { private UserIdentityBuilder builder = new UserIdentityBuilder(); + /** + * {@link UserIdentityBuilder#name(String) name} is a required parameter. + * + * @see UserIdentityBuilder#name(String) + */ public Step2 name(String name) { builder.name(name); return new Step2(); } public class Step2 { + /** + * {@link UserIdentityBuilder#displayName(String) displayName} is a required parameter. + * + * @see UserIdentityBuilder#displayName(String) + */ public Step3 displayName(String displayName) { builder.displayName(displayName); return new Step3(); @@ -152,6 +162,11 @@ public Step3 displayName(String displayName) { } public class Step3 { + /** + * {@link UserIdentityBuilder#id(ByteArray) id} is a required parameter. + * + * @see UserIdentityBuilder#id(ByteArray) + */ public UserIdentityBuilder id(ByteArray id) { return builder.id(id); }