Skip to content

Releases: eu-digital-identity-wallet/eudi-lib-ios-openid4vci-swift

v0.12.1

25 Feb 11:01
2eedaa7
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.12.0...v0.12.1

v0.12.0

12 Feb 13:39
ac88f27
Compare
Choose a tag to compare

What's Changed

Breaking changes

  • The protocol AuthorizationServerClientType functions requestAccessTokenAuthFlow and requestAccessTokenPreAuthFlow now include an IssuanceRefreshToken in their return value Result.
  • OpenId4VCIConfig client is now a Client instead of a ClientId.
    • Using client: .public(id: "your-client-id") will replicate the exisiting functionality.
  • Issuer authorizeWithPreAuthorizationCode client is now a Client instead of a ClientId.
  • Issuer authorizeWithPreAuthorizationCode client is now a Client instead of a ClientId.
  • AuthorizationServerClient client is now a Client instead of a ClientId.
  • AuthorizationServerClient requestAccessTokenPreAuthFlow client is now a Client instead of a ClientId.
  • AuthorizationServerClient preAuthCodeFlow client is now a Client instead of a ClientId.
  • OpenId4VCIConfig now accepts a DPoPConstructorType.

Full Changelog: v0.11.0...v0.12.0

v0.11.0

04 Feb 09:51
231d188
Compare
Choose a tag to compare

What's Changed

Breaking changes

The AuthorizationCodeRetrieved struct now includes a new field dpopNonce: Nonce?.

Full Changelog: v0.10.1...v0.11.0

v0.10.1

15 Jan 13:35
43d2d1f
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.10.0...v0.10.1

v0.10.0

16 Dec 08:52
276778d
Compare
Choose a tag to compare

What's Changed

Breaking changes

The following protocols and their implementations have been updated to use a nonce (dpop nonce) and a boolean (retry) in their signatures:

  • IssuanceRequesterType
  • IssuerType
  • AuthorizationServerClientType
  • NotifyIssuerType

The IssuanceRequesterType protocol now accepts an additional retry boolean parameter.

Important Notes on dpop Nonce Handling

These changes are relevant if your authorization or resource server responds with a DPoP nonce. For more details, refer to the RFC9449 (https://datatracker.ietf.org/doc/html/rfc9449#name-resource-server-provided-no, https://datatracker.ietf.org/doc/html/rfc9449#name-authorization-server-provid) specification on authorization server-provided nonce and resource server-provided nonce.

Examples of how this is implemented can be found in:

testWithOfferSdJwtDPoP()
testWithOfferMultipleSdJwtDPoP()

Note:
Using Regular Bearer Tokens
If you are not utilizing DPoP but instead rely on regular bearer tokens:
Set dpopnonce to nil.
Set retry to false in all cases.
This ensures compatibility without adopting DPoP-specific functionality.

Full Changelog: v0.9.3...v0.10.0

v0.9.3

13 Dec 11:36
75baa73
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.9.2...v0.9.3

v0.9.2

12 Dec 09:18
16e691a
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.9.1...v0.9.2

v0.9.1

07 Dec 06:41
a2d316a
Compare
Choose a tag to compare

What's Changed

Breaking changes

  • The Issuer now accepts a binding key array instead of a single binding key. If you want to use the Issuer in a similar backwards compatible way to Draft 13, pass a binding key array with a single value.

  • The binding key JWK case now accepts an array of SigningKeyProxys. If you want to use the Issuer in a similar backwards compatible way to Draft 13, pass a binding key array with a single value containing .secKey(_your_key_).

  • Draft 14 supports the issuance of a document while providing multiple proofs. If an issuance is successful, the credential will be issued and located in a variable of type:

public enum Credential: Codable {
  case string(String)
  case json(JSON)
}

If a single credential is issued, its value will be located in string(String). Multiple credentials will be located in json(JSON) as an array.

  • CWT has been removed.
  • Batch credential issuance has been removed.

The examples contained in the test target provide usages for all the above scenarios.

Full Changelog: v0.8.0...v0.9.0

v0.9.0

05 Dec 07:34
176842b
Compare
Choose a tag to compare

What's Changed

Breaking changes

  • The Issuer now accepts a binding key array instead of a single binding key. If you want to use the Issuer in a similar backwards compatible way to Draft 13, pass a binding key array with a single value.

  • The binding key JWK case now accepts an array of SigningKeyProxys. If you want to use the Issuer in a similar backwards compatible way to Draft 13, pass a binding key array with a single value containing .secKey(_your_key_).

  • Draft 14 supports the issuance of a document while providing multiple proofs. If an issuance is successful, the credential will be issued and located in a variable of type:

public enum Credential: Codable {
  case string(String)
  case json(JSON)
}

If a single credential is issued, its value will be located in string(String). Multiple credentials will be located in json(JSON) as an array.

  • CWT has been removed.
  • Batch credential issuance has been removed.

The examples contained in the test target provide usages for all the above scenarios.

Full Changelog: v0.8.0...v0.9.0

v0.8.0

26 Nov 11:13
18f4906
Compare
Choose a tag to compare

What's Changed

Breaking Changes

  • The BindingKey jwk case now accepts SigningKeyProxy instead of a SecKey as an associated value.
    This is a breaking change and to continue using keys please use .secKey(your_key) instead of just your_key when creating a BindingKey. Several examples here

Full Changelog: v0.7.2...v0.8.0