Skip to content

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

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

v0.7.2

11 Nov 08:11
1ab344b
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.7.1...v0.7.2

v0.7.1

04 Nov 08:26
56eca59
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.7.0...v0.7.1

v0.7.0

16 Oct 05:59
5483f37
Compare
Choose a tag to compare

What's Changed

  • Refactor credential issuer metadata resolver api by @srosenda in #76

Breaking Changes

  • Clients of CredentialIssuerMetadataType.resolve(source:) need to remove the nil checking of success result. Please refer to a823c226

Full Changelog: v0.6.0...v0.7.0

v0.6.0

07 Oct 11:01
aa315bc
Compare
Choose a tag to compare

What's Changed

  • [refactor] Remove credential response property "format" by @srosenda in #72
  • [fix] x-www-form-urlencoded body encoding in HTTP form POST by @srosenda in #54
  • Switch to JOSESwift upstream version >=0.3.0 by @srosenda in #77
  • Remove openid appended at the end of scope by @pankaj-sp in #85
  • Use of PAR can be configured by @dtsiflit in #83

New Contributors

Full Changelog: v0.4.3...v0.6.0