Releases: eu-digital-identity-wallet/eudi-lib-ios-wallet-kit
Releases · eu-digital-identity-wallet/eudi-lib-ios-wallet-kit
v0.19.0
-
Client Attestation Support: Added support for Wallet Instance Attestation and Wallet Unit Attestation
-
New struct:
KeyAttestationConfigfor configuring client attestation- Property
walletAttestationsProvider: WalletAttestationsProvider- Provider for wallet and key attestations - Property
popKeyOptions: KeyOptions?- Optional key options for PoP key generation - Property
popKeyDuration: TimeInterval?- Optional duration for PoP JWT validity (default: 300 seconds)
- Property
-
New protocol:
WalletAttestationsProviderwith two required methods:func getWalletAttestation(key: any JWK) async throws -> String- Obtain wallet instance attestation JWT for a given public keyfunc getKeysAttestation(keys: [any JWK], nonce: String?) async throws -> String- Obtain unit attestation JWT for multiple keys
-
-
OpenId4VciConfiguration changes:
- Removed
client: Clientparameter - Added
clientId: String?parameter (defaults to "wallet-dev") - Added
keyAttestationsConfig: KeyAttestationConfig?parameter for client attestation configuration
- Removed
let config = OpenId4VciConfiguration(
credentialIssuerURL: "https://issuer.example.com",
clientId: "my-wallet-client",
keyAttestationsConfig: KeyAttestationConfig(
walletAttestationsProvider: MyAttestationProvider(),
popKeyDuration: 300
)
)v0.18.5
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.18.0
Breaking Changes to Public API
-
Multi-issuer support: All OpenID4VCI methods now require an
issuerNameparameter to support multiple issuer configurations:issueDocument(issuerName:docTypeIdentifier:credentialOptions:keyOptions:promptMessage:)- AddedissuerNameparametergetDefaultCredentialOptions(issuerName:docTypeIdentifier:)- AddedissuerNameparameterrequestDeferredIssuance(issuerName:deferredDoc:credentialOptions:keyOptions:)- AddedissuerNameparameterresumePendingIssuance(issuerName:pendingDoc:webUrl:credentialOptions:keyOptions:)- AddedissuerNameparametergetIssuerMetadata(issuerName:)- AddedissuerNameparameter
-
Initializer changes:
- Replaced
openID4VciIssuerUrlandopenID4VciConfigparameters withopenID4VciConfigurations: [String: OpenId4VciConfiguration]? - Enables configuration of multiple OpenID4VCI issuers with different settings
- Replaced
-
Offer URL resolution:
issueDocumentsByOfferUrl(offerUri:docTypes:txCodeValue:promptMessage:configuration:)- Added optionalconfigurationparameter
-
OpenId4VCI Service registration: New
func registerOpenId4VciServices(_ configurations: [String: OpenId4VciConfiguration])method for dynamic issuer service registration -
Refactoring: Major refactoring of OpenID4VCI service architecture for improved modularity
- VCI Methods refactoring: Moved credential issuance logic from
EudiWalletintoOpenId4VciServicefor better separation of concerns - Code organization: Better separation between wallet-level operations and service-level OpenID4VCI protocol handling
- Improved maintainability: Consolidated related functionality and reduced code duplication across components
- Improved thread safety: OpenID4VCI service is now an actor
- VCI Methods refactoring: Moved credential issuance logic from