Experimental release 2.8.0-alpha1
Pre-release
Pre-release
Re-introduced changes that were reverted between 2.7.0-alpha1 and 2.7.0-RC1:
New features:
- (Experimental) Added a new suite of interfaces, starting with
CredentialRepositoryV2.RelyingPartycan now be configured with aCredentialRepositoryV2instance instead of aCredentialRepositoryinstance. This changes the result of theRelyingPartybuilder toRelyingPartyV2.CredentialRepositoryV2andRelyingPartyV2enable a suite of new features:CredentialRepositoryV2does not assume that the application has usernames, instead username support is modular. In addition to theCredentialRepositoryV2,RelyingPartyV2can be optionally configured with aUsernameRepositoryas well. If aUsernameRepositoryis not set, thenRelyingPartyV2.startAssertion(StartAssertionOptions)will fail at runtime ifStartAssertionOptions.usernameis set.CredentialRepositoryV2uses a new interfaceCredentialRecordto represent registered credentials, instead of the concreteRegisteredCredentialclass (althoughRegisteredCredentialalso implementsCredentialRecord). This provides implementations greater flexibility while also automating the type conversion toPublicKeyCredentialDescriptorneeded instartRegistration()andstartAssertion().RelyingPartyV2.finishAssertion()returns a new typeAssertionResultV2with a new methodgetCredential(), which returns theCredentialRecordthat was verified. The return type ofgetCredential()is generic and preserves the concrete type ofCredentialRecordreturned by theCredentialRepositoryV2implementation.- NOTE: Experimental features may receive breaking changes without a major version increase.
- (Experimental) Added property
RegisteredCredential.transports.- NOTE: Experimental features may receive breaking changes without a major version increase.
Artifacts built with openjdk version "17.0.14" 2025-01-21.