@@ -182,9 +182,28 @@ public AssertionExtensionInputsBuilder largeBlob(
182
182
/**
183
183
* Enable the Pseudo-random function extension (<code>prf</code>).
184
184
*
185
- * @see <a
186
- * href="https://www.w3.org/TR/2021/REC-webauthn-2-20210408/#sctn-large-blob-extension">§10.5.
187
- * Large blob storage extension (largeBlob)</a>
185
+ * <p>This extension allows a Relying Party to evaluate outputs from a pseudo-random function
186
+ * (PRF) associated with a credential.
187
+ *
188
+ * <p>Use the {@link com.yubico.webauthn.data.Extensions.Prf.PrfAuthenticationInput} factory
189
+ * functions to construct the argument:
190
+ *
191
+ * <ul>
192
+ * <li>Use {@link Extensions.Prf.PrfAuthenticationInput#eval(Extensions.Prf.PrfValues)} to use
193
+ * the same PRF input for all credentials.
194
+ * <li>Use {@link Extensions.Prf.PrfAuthenticationInput#evalByCredential(Map)} to use
195
+ * different PRF inputs for different credentials.
196
+ * <li>Use {@link Extensions.Prf.PrfAuthenticationInput#evalByCredentialWithFallback(Map,
197
+ * Extensions.Prf.PrfValues)} to use different PRF inputs for different credentials, but
198
+ * with a "fallback" input for credentials without their own input.
199
+ * </ul>
200
+ *
201
+ * @see Extensions.Prf.PrfAuthenticationInput#eval(Extensions.Prf.PrfValues)
202
+ * @see Extensions.Prf.PrfAuthenticationInput#evalByCredential(Map)
203
+ * @see Extensions.Prf.PrfAuthenticationInput#evalByCredentialWithFallback(Map,
204
+ * Extensions.Prf.PrfValues)
205
+ * @see <a href="https://www.w3.org/TR/2025/WD-webauthn-3-20250127/#prf-extension">§10.1.4.
206
+ * Pseudo-random function extension (prf)</a>
188
207
*/
189
208
public AssertionExtensionInputsBuilder prf (Extensions .Prf .PrfAuthenticationInput prf ) {
190
209
this .prf = prf ;
@@ -253,16 +272,17 @@ private Extensions.LargeBlob.LargeBlobAuthenticationInput getLargeBlobJson() {
253
272
}
254
273
255
274
/**
256
- * The input to the Pseudo-random function extension (<code>prf</code>).
275
+ * The input to the Pseudo-random function extension (<code>prf</code>), if any .
257
276
*
258
277
* <p>This extension allows a Relying Party to evaluate outputs from a pseudo-random function
259
278
* (PRF) associated with a credential.
260
279
*
261
- * @see Extensions.LargeBlob.LargeBlobAuthenticationInput#read()
262
- * @see Extensions.LargeBlob.LargeBlobAuthenticationInput#write(ByteArray)
263
- * @see <a
264
- * href="https://www.w3.org/TR/2021/REC-webauthn-2-20210408/#sctn-large-blob-extension">§10.5.
265
- * Large blob storage extension (largeBlob)</a>
280
+ * @see Extensions.Prf.PrfAuthenticationInput#eval(Extensions.Prf.PrfValues)
281
+ * @see Extensions.Prf.PrfAuthenticationInput#evalByCredential(Map)
282
+ * @see Extensions.Prf.PrfAuthenticationInput#evalByCredentialWithFallback(Map,
283
+ * Extensions.Prf.PrfValues)
284
+ * @see <a href="https://www.w3.org/TR/2025/WD-webauthn-3-20250127/#prf-extension">§10.1.4.
285
+ * Pseudo-random function extension (prf)</a>
266
286
*/
267
287
public Optional <Extensions .Prf .PrfAuthenticationInput > getPrf () {
268
288
return Optional .ofNullable (prf );
0 commit comments