Version 1.11.0
Deprecated features:
AuthenticatorSelectionCriteria
methodsbuilder().requireResidentKey(boolean)
andisRequireResidentKey()
deprecated in favor of a new option, see below.- The
icon
field inRelyingPartyIdentity
andUserIdentity
, and its associated methods, are now deprecated. The corresponding property was removed in WebAuthn Level 2.
Deprecated features will be removed in the next major version release.
Changes:
RelyingParty.startAssertion()
no longer overwrites theappid
extension input in theStartAssertionOptions
argument.RelyingParty.appId
setting now also activates theappidExclude
extension in addition to theappid
extension.RelyingParty.startRegistration()
now enables thecredProps
extension by default. The extension output, if any, is available asRegistrationResult.isDiscoverable()
andRegistrationResult.getClientExtensionOutputs().getCredProps()
.
New features:
RegistrationResult.keyId()
now includestransports
if any were included in theAuthenticatorAttestatationResponse
. To get transports passed through, callPublicKeyCredential.response.getTransports()
on the client side after successful registration, and add the result as the propertyresponse.transports
in the JSON passed intoPublicKeyCredential.parseRegistrationResponseJson
. See the project README for an example.- Added support for the
appidExclude
,credProps
,largeBlob
anduvm
extensions. - Added support for the new
authenticatorSelectionCriteria.residentKey
option:- Added method
AuthenticatorSelectionCriteria.builder().residentKey(ResidentKeyRequirement)
. - Added method
AuthenticatorSelectionCriteria.getResidentKey()
. - Methods
builder().requireResidentKey(boolean)
andisRequireResidentKey()
deprecated in favor of the above two new methods. - The builder methods
requireResidentKey(boolean)
andresidentKey(ResidentKeyRequirement)
both control one shared setting, which sets both therequireResidentKey
andresidentKey
options simultaneously and in agreement with each other for backwards compatibility with older browsers.
- Added method
- Added methods
PublicKeyCredentialCreationOptions.toCredentialsCreateJson()
,PublicKeyCredentialRequestOptions.toCredentialsGetJson()
andAssertionRequest.toCredentialsGetJson()
for serializing to JSON without having to use Jackson directly. - Added methods
PublicKeyCredentialCreationOptions.toJson()
and.fromJson(String)
suitable for encoding to and decoding from JSON. - Added methods
AssertionRequest.toJson()
and.fromJson(String)
suitable for encoding to and decoding from JSON. - Added methods
StartAssertionOptions.builder().userHandle(ByteArray)
and.userHandle(Optional<ByteArray>)
as alternatives to.username(String)
and.username(Optional<String>)
. TheuserHandle
methods fill the same function as, and are mutually exclusive with, theusername
methods.
Fixes:
- Added missing JavaDoc for
id
andname
methods of initialRelyingPartyIdentityBuilder
stages. - Added and improved JavaDoc for required builder methods.
- Javadoc for
TokenBindingInfo.id
incorrectly stated that the value is base64url encoded. - Javadoc for
TokenBindingStatus.PRESENT
incorrectly referenced its own (private)id
member instead ofTokenBindingInfo.id
. - Improved JavaDoc for
StartRegistrationOptions.authenticatorSelection
- Improved JavaDoc for
RelyingParty.appid
- Make the
RelyingParty.validateSignatureCounter
JavaDoc also cover the success case where stored and received signature count are both zero.
Artifacts built with openjdk 11.0.12 2021-07-20
.