@pagopa/io-react-native-wallet 0.9.2 → 0.10.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. package/lib/commonjs/credential/issuance/06-obtain-credential.js +2 -34
  2. package/lib/commonjs/credential/issuance/06-obtain-credential.js.map +1 -1
  3. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +169 -0
  4. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -0
  5. package/lib/commonjs/credential/issuance/08-confirm-credential.js +6 -0
  6. package/lib/commonjs/credential/issuance/08-confirm-credential.js.map +1 -0
  7. package/lib/commonjs/credential/issuance/const.js +6 -1
  8. package/lib/commonjs/credential/issuance/const.js.map +1 -1
  9. package/lib/commonjs/credential/issuance/index.js +7 -0
  10. package/lib/commonjs/credential/issuance/index.js.map +1 -1
  11. package/lib/commonjs/index.js +3 -1
  12. package/lib/commonjs/index.js.map +1 -1
  13. package/lib/commonjs/sd-jwt/__test__/index.test.js +33 -1
  14. package/lib/commonjs/sd-jwt/__test__/index.test.js.map +1 -1
  15. package/lib/commonjs/sd-jwt/index.js +15 -6
  16. package/lib/commonjs/sd-jwt/index.js.map +1 -1
  17. package/lib/commonjs/sd-jwt/types.js +1 -1
  18. package/lib/commonjs/trust/types.js +7 -2
  19. package/lib/commonjs/trust/types.js.map +1 -1
  20. package/lib/commonjs/utils/misc.js +2 -2
  21. package/lib/commonjs/utils/misc.js.map +1 -1
  22. package/lib/commonjs/utils/par.js +2 -2
  23. package/lib/commonjs/utils/par.js.map +1 -1
  24. package/lib/module/credential/issuance/06-obtain-credential.js +3 -34
  25. package/lib/module/credential/issuance/06-obtain-credential.js.map +1 -1
  26. package/lib/module/credential/issuance/07-verify-and-parse-credential.js +163 -0
  27. package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -0
  28. package/lib/module/credential/issuance/08-confirm-credential.js +2 -0
  29. package/lib/module/credential/issuance/08-confirm-credential.js.map +1 -0
  30. package/lib/module/credential/issuance/const.js +2 -0
  31. package/lib/module/credential/issuance/const.js.map +1 -1
  32. package/lib/module/credential/issuance/index.js +2 -1
  33. package/lib/module/credential/issuance/index.js.map +1 -1
  34. package/lib/module/index.js +2 -1
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/sd-jwt/__test__/index.test.js +33 -1
  37. package/lib/module/sd-jwt/__test__/index.test.js.map +1 -1
  38. package/lib/module/sd-jwt/index.js +10 -6
  39. package/lib/module/sd-jwt/index.js.map +1 -1
  40. package/lib/module/sd-jwt/types.js +1 -1
  41. package/lib/module/trust/types.js +7 -2
  42. package/lib/module/trust/types.js.map +1 -1
  43. package/lib/module/utils/misc.js +2 -2
  44. package/lib/module/utils/misc.js.map +1 -1
  45. package/lib/module/utils/par.js +2 -2
  46. package/lib/module/utils/par.js.map +1 -1
  47. package/lib/typescript/credential/issuance/06-obtain-credential.d.ts +2 -1
  48. package/lib/typescript/credential/issuance/06-obtain-credential.d.ts.map +1 -1
  49. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts +36 -0
  50. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -0
  51. package/lib/typescript/credential/issuance/08-confirm-credential.d.ts +11 -0
  52. package/lib/typescript/credential/issuance/08-confirm-credential.d.ts.map +1 -0
  53. package/lib/typescript/credential/issuance/const.d.ts +3 -0
  54. package/lib/typescript/credential/issuance/const.d.ts.map +1 -1
  55. package/lib/typescript/credential/issuance/index.d.ts +4 -3
  56. package/lib/typescript/credential/issuance/index.d.ts.map +1 -1
  57. package/lib/typescript/index.d.ts +2 -1
  58. package/lib/typescript/index.d.ts.map +1 -1
  59. package/lib/typescript/sd-jwt/index.d.ts +222 -5
  60. package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
  61. package/lib/typescript/sd-jwt/types.d.ts +1 -1
  62. package/lib/typescript/trust/index.d.ts +10 -2
  63. package/lib/typescript/trust/index.d.ts.map +1 -1
  64. package/lib/typescript/trust/types.d.ts +254 -22
  65. package/lib/typescript/trust/types.d.ts.map +1 -1
  66. package/lib/typescript/utils/misc.d.ts +1 -1
  67. package/lib/typescript/utils/misc.d.ts.map +1 -1
  68. package/lib/typescript/utils/par.d.ts +7 -7
  69. package/package.json +2 -2
  70. package/src/credential/issuance/06-obtain-credential.ts +3 -51
  71. package/src/credential/issuance/07-verify-and-parse-credential.ts +229 -0
  72. package/src/credential/issuance/08-confirm-credential.ts +14 -0
  73. package/src/credential/issuance/const.ts +6 -0
  74. package/src/credential/issuance/index.ts +7 -1
  75. package/src/index.ts +2 -0
  76. package/src/sd-jwt/__test__/index.test.ts +32 -1
  77. package/src/sd-jwt/index.ts +14 -8
  78. package/src/sd-jwt/types.ts +1 -1
  79. package/src/trust/types.ts +6 -2
  80. package/src/utils/misc.ts +4 -2
  81. package/src/utils/par.ts +2 -2
@@ -43,7 +43,7 @@ const CredentialDefinitionMetadata = z.object({
43
43
 
44
44
  const SupportedCredentialMetadata = z.object({
45
45
  id: z.string(),
46
- format: z.literal("vc+sd-jwt"),
46
+ format: z.union([z.literal("vc+sd-jwt"), z.literal("vc+mdoc-cbor")]),
47
47
  cryptographic_binding_methods_supported: z.array(z.string()),
48
48
  cryptographic_suites_supported: z.array(z.string()),
49
49
  display: z.array(CredentialDisplayMetadata),
@@ -71,12 +71,17 @@ export const EntityConfigurationHeader = z.object({
71
71
  alg: z.string(),
72
72
  kid: z.string()
73
73
  });
74
+
75
+ /**
76
+ * @see https://openid.net/specs/openid-connect-federation-1_0-29.html#name-federation-entity
77
+ */
74
78
  const FederationEntityMetadata = z.object({
75
79
  federation_fetch_endpoint: z.string().optional(),
76
80
  federation_list_endpoint: z.string().optional(),
77
81
  federation_resolve_endpoint: z.string().optional(),
78
82
  federation_trust_mark_status_endpoint: z.string().optional(),
79
83
  federation_trust_mark_list_endpoint: z.string().optional(),
84
+ organization_name: z.string().optional(),
80
85
  homepage_uri: z.string().optional(),
81
86
  policy_uri: z.string().optional(),
82
87
  logo_uri: z.string().optional(),
@@ -125,7 +130,7 @@ export const CredentialIssuerEntityConfiguration = BaseEntityConfiguration.and(z
125
130
  keys: z.array(JWK)
126
131
  })
127
132
  }),
128
- /** Credential Issuers act as Relying Party
133
+ /** Credential Issuers act as Relying Party
129
134
  when they require the presentation of other credentials.
130
135
  This does not apply for PID issuance, which requires CIE authz. */
131
136
  wallet_relying_party: RelyingPartyMetadata.optional()
@@ -1 +1 @@
1
- {"version":3,"names":["UnixTime","JWK","z","TrustMark","object","id","string","trust_mark","RelyingPartyMetadata","application_type","optional","client_id","client_name","jwks","keys","array","contacts","CredentialDisplayMetadata","name","locale","logo","url","alt_text","background_color","text_color","CredentialDefinitionMetadata","type","credentialSubject","record","mandatory","boolean","display","SupportedCredentialMetadata","format","literal","cryptographic_binding_methods_supported","cryptographic_suites_supported","credential_definition","EntityStatement","header","typ","alg","kid","payload","iss","sub","trust_marks","iat","number","exp","EntityConfigurationHeader","FederationEntityMetadata","federation_fetch_endpoint","federation_list_endpoint","federation_resolve_endpoint","federation_trust_mark_status_endpoint","federation_trust_mark_list_endpoint","homepage_uri","policy_uri","logo_uri","passthrough","BaseEntityConfiguration","metadata","federation_entity","authority_hints","TrustAnchorEntityConfiguration","CredentialIssuerEntityConfiguration","and","openid_credential_issuer","credential_issuer","authorization_endpoint","token_endpoint","pushed_authorization_request_endpoint","dpop_signing_alg_values_supported","credential_endpoint","credentials_supported","wallet_relying_party","RelyingPartyEntityConfiguration","WalletProviderEntityConfiguration","wallet_provider","attested_security_context_values_supported","grant_types_supported","token_endpoint_auth_methods_supported","token_endpoint_auth_signing_alg_values_supported","EntityConfiguration","union","description"],"sourceRoot":"../../../src","sources":["trust/types.ts"],"mappings":"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"}
1
+ {"version":3,"names":["UnixTime","JWK","z","TrustMark","object","id","string","trust_mark","RelyingPartyMetadata","application_type","optional","client_id","client_name","jwks","keys","array","contacts","CredentialDisplayMetadata","name","locale","logo","url","alt_text","background_color","text_color","CredentialDefinitionMetadata","type","credentialSubject","record","mandatory","boolean","display","SupportedCredentialMetadata","format","union","literal","cryptographic_binding_methods_supported","cryptographic_suites_supported","credential_definition","EntityStatement","header","typ","alg","kid","payload","iss","sub","trust_marks","iat","number","exp","EntityConfigurationHeader","FederationEntityMetadata","federation_fetch_endpoint","federation_list_endpoint","federation_resolve_endpoint","federation_trust_mark_status_endpoint","federation_trust_mark_list_endpoint","organization_name","homepage_uri","policy_uri","logo_uri","passthrough","BaseEntityConfiguration","metadata","federation_entity","authority_hints","TrustAnchorEntityConfiguration","CredentialIssuerEntityConfiguration","and","openid_credential_issuer","credential_issuer","authorization_endpoint","token_endpoint","pushed_authorization_request_endpoint","dpop_signing_alg_values_supported","credential_endpoint","credentials_supported","wallet_relying_party","RelyingPartyEntityConfiguration","WalletProviderEntityConfiguration","wallet_provider","attested_security_context_values_supported","grant_types_supported","token_endpoint_auth_methods_supported","token_endpoint_auth_signing_alg_values_supported","EntityConfiguration","description"],"sourceRoot":"../../../src","sources":["trust/types.ts"],"mappings":"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"}
@@ -5,9 +5,9 @@ import { IoWalletError } from "./errors";
5
5
  * @param status The expected status
6
6
  * @returns The given response object
7
7
  */
8
- export const hasStatus = status => res => {
8
+ export const hasStatus = status => async res => {
9
9
  if (res.status !== status) {
10
- throw new IoWalletError(`Http request failed. Expected ${status}, got ${res.status}, url: ${res.url}`);
10
+ throw new IoWalletError(`Http request failed. Expected ${status}, got ${res.status}, url: ${res.url} with response: ${await res.text()}`);
11
11
  }
12
12
  return res;
13
13
  };
@@ -1 +1 @@
1
- {"version":3,"names":["IoWalletError","hasStatus","status","res","url"],"sourceRoot":"../../../src","sources":["utils/misc.ts"],"mappings":"AAAA,SAASA,aAAa,QAAQ,UAAU;;AAExC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GACnBC,MAAc,IACdC,GAAa,IAAe;EAC3B,IAAIA,GAAG,CAACD,MAAM,KAAKA,MAAM,EAAE;IACzB,MAAM,IAAIF,aAAa,CACpB,iCAAgCE,MAAO,SAAQC,GAAG,CAACD,MAAO,UAASC,GAAG,CAACC,GAAI,EAC9E,CAAC;EACH;EACA,OAAOD,GAAG;AACZ,CAAC;;AAEH;AACA"}
1
+ {"version":3,"names":["IoWalletError","hasStatus","status","res","url","text"],"sourceRoot":"../../../src","sources":["utils/misc.ts"],"mappings":"AAAA,SAASA,aAAa,QAAQ,UAAU;;AAExC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GACnBC,MAAc,IACf,MAAOC,GAAa,IAAwB;EAC1C,IAAIA,GAAG,CAACD,MAAM,KAAKA,MAAM,EAAE;IACzB,MAAM,IAAIF,aAAa,CACpB,iCAAgCE,MAAO,SAAQC,GAAG,CAACD,MAAO,UACzDC,GAAG,CAACC,GACL,mBAAkB,MAAMD,GAAG,CAACE,IAAI,CAAC,CAAE,EACtC,CAAC;EACH;EACA,OAAOF,GAAG;AACZ,CAAC;;AAEH;AACA"}
@@ -7,7 +7,7 @@ export const AuthorizationDetail = z.object({
7
7
  credential_definition: z.object({
8
8
  type: z.string()
9
9
  }),
10
- format: z.literal("vc+sd-jwt"),
10
+ format: z.union([z.literal("vc+sd-jwt"), z.literal("vc+mdoc-cbor")]),
11
11
  type: z.literal("openid_credential")
12
12
  });
13
13
  export const AuthorizationDetails = z.array(AuthorizationDetail);
@@ -26,7 +26,7 @@ export const makeParRequest = _ref => {
26
26
  const aud = `${parUrl.protocol}//${parUrl.hostname}`;
27
27
  const iss = WalletInstanceAttestation.decode(walletInstanceAttestation).payload.cnf.jwk.kid;
28
28
 
29
- /** A code challenge is provided so that the PAR is bound
29
+ /** A code challenge is provided so that the PAR is bound
30
30
  to the subsequent authorization code request
31
31
  @see https://datatracker.ietf.org/doc/html/rfc9126#name-request */
32
32
  const codeChallengeMethod = "s256";
@@ -1 +1 @@
1
- {"version":3,"names":["sha256ToBase64","SignJWT","uuid","z","WalletInstanceAttestation","hasStatus","AuthorizationDetail","object","credential_definition","type","string","format","literal","AuthorizationDetails","array","makeParRequest","_ref","wiaCryptoContext","appFetch","fetch","clientId","codeVerifier","walletProviderBaseUrl","parEndpoint","walletInstanceAttestation","authorizationDetails","assertionType","wiaPublicKey","getPublicKey","parUrl","URL","aud","protocol","hostname","iss","decode","payload","cnf","jwk","kid","codeChallengeMethod","codeChallenge","signedJwtForPar","setProtectedHeader","setPayload","jti","v4","client_assertion_type","authorization_details","response_type","redirect_uri","state","client_id","code_challenge_method","code_challenge","setIssuedAt","setExpirationTime","sign","formBody","URLSearchParams","client_assertion","request","method","headers","body","toString","then","res","json","result","request_uri"],"sourceRoot":"../../../src","sources":["utils/par.ts"],"mappings":"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"}
1
+ {"version":3,"names":["sha256ToBase64","SignJWT","uuid","z","WalletInstanceAttestation","hasStatus","AuthorizationDetail","object","credential_definition","type","string","format","union","literal","AuthorizationDetails","array","makeParRequest","_ref","wiaCryptoContext","appFetch","fetch","clientId","codeVerifier","walletProviderBaseUrl","parEndpoint","walletInstanceAttestation","authorizationDetails","assertionType","wiaPublicKey","getPublicKey","parUrl","URL","aud","protocol","hostname","iss","decode","payload","cnf","jwk","kid","codeChallengeMethod","codeChallenge","signedJwtForPar","setProtectedHeader","setPayload","jti","v4","client_assertion_type","authorization_details","response_type","redirect_uri","state","client_id","code_challenge_method","code_challenge","setIssuedAt","setExpirationTime","sign","formBody","URLSearchParams","client_assertion","request","method","headers","body","toString","then","res","json","result","request_uri"],"sourceRoot":"../../../src","sources":["utils/par.ts"],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { StartFlow } from "./01-start-flow";
3
3
  import { type Out } from "../../utils/misc";
4
4
  import type { EvaluateIssuerTrust } from "./02-evaluate-issuer-trust";
5
5
  import type { AuthorizeAccess } from "./05-authorize-access";
6
+ import { SupportedCredentialFormat } from "./const";
6
7
  /**
7
8
  * Return the signed jwt for nonce proof of possession
8
9
  */
@@ -13,7 +14,7 @@ export type ObtainCredential = (issuerConf: Out<EvaluateIssuerTrust>["issuerConf
13
14
  appFetch?: GlobalFetch["fetch"];
14
15
  }) => Promise<{
15
16
  credential: string;
16
- format: string;
17
+ format: SupportedCredentialFormat;
17
18
  }>;
18
19
  /**
19
20
  * Fetch a credential from the issuer
@@ -1 +1 @@
1
- {"version":3,"file":"06-obtain-credential.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/06-obtain-credential.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAa,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK7D;;GAEG;AACH,eAAO,MAAM,gBAAgB,UACpB,MAAM,UACL,MAAM,YACJ,MAAM,OACX,aAAa,KACjB,QAAQ,MAAM,CAchB,CAAC;AA4CF,MAAM,MAAM,gBAAgB,GAAG,CAC7B,UAAU,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAClD,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,EAChD,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EACpC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,EAC1C,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,EAChD,OAAO,EAAE;IACP,uBAAuB,EAAE,aAAa,CAAC;IACvC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAwE9B,CAAC"}
1
+ {"version":3,"file":"06-obtain-credential.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/06-obtain-credential.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAa,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,gBAAgB,UACpB,MAAM,UACL,MAAM,YACJ,MAAM,OACX,aAAa,KACjB,QAAQ,MAAM,CAchB,CAAC;AAOF,MAAM,MAAM,gBAAgB,GAAG,CAC7B,UAAU,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAClD,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC,EAChD,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EACpC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,EAC1C,cAAc,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,EAChD,OAAO,EAAE;IACP,uBAAuB,EAAE,aAAa,CAAC;IACvC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,yBAAyB,CAAA;CAAE,CAAC,CAAC;AAExE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAgE9B,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { Out } from "../../utils/misc";
2
+ import type { EvaluateIssuerTrust } from "./02-evaluate-issuer-trust";
3
+ import type { ObtainCredential } from "./06-obtain-credential";
4
+ import type { CryptoContext } from "@pagopa/io-react-native-jwt";
5
+ export type VerifyAndParseCredential = (issuerConf: Out<EvaluateIssuerTrust>["issuerConf"], credential: Out<ObtainCredential>["credential"], format: Out<ObtainCredential>["format"], context: {
6
+ credentialCryptoContext: CryptoContext;
7
+ ignoreMissingAttributes?: boolean;
8
+ }) => Promise<{
9
+ parsedCredential: ParsedCredential;
10
+ }>;
11
+ type ParsedCredential = Record<
12
+ /** Attribute key */
13
+ string, {
14
+ /** Human-readable name of the attribute */
15
+ name: /* if i18n is provided */ Record<string, string> | /* if no i18n is provided */ string;
16
+ /** If in defined as mandatory by the Issuer */
17
+ mandatory: boolean;
18
+ /** The actual value of the attribute */
19
+ value: unknown;
20
+ }>;
21
+ /**
22
+ * Verify and parse an encoded credential
23
+ *
24
+ * @param issuerConf The Issuer configuration
25
+ * @param credential The encoded credential
26
+ * @param format The format of the credentual
27
+ * @param context.credentialCryptoContext The context to access the key the Credential will be bound to
28
+ * @param context.ignoreMissingAttributes (optional) Whether to fail if a defined attribute is note present in the credentual. Default: false
29
+ * @returns A parsed credential with attributes in plain value
30
+ * @throws If the credential signature is not verified with the Issuer key set
31
+ * @throws If the credential is not bound to the provided user key
32
+ * @throws If the credential data fail to parse
33
+ */
34
+ export declare const verifyAndParseCredential: VerifyAndParseCredential;
35
+ export {};
36
+ //# sourceMappingURL=07-verify-and-parse-credential.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"07-verify-and-parse-credential.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/07-verify-and-parse-credential.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,MAAM,wBAAwB,GAAG,CACrC,UAAU,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAClD,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,EAC/C,MAAM,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EACvC,OAAO,EAAE;IACP,uBAAuB,EAAE,aAAa,CAAC;IACvC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,KACE,OAAO,CAAC;IAAE,gBAAgB,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAAC;AAGrD,KAAK,gBAAgB,GAAG,MAAM;AAC5B,oBAAoB;AACpB,MAAM,EACN;IACE,2CAA2C;IAC3C,IAAI,EACA,yBAAyB,CAAC,MAAM,CAC9B,MAAM,EACN,MAAM,CACP,GACD,4BAA4B,CAAC,MAAM,CAAC;IACxC,+CAA+C;IAC/C,SAAS,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,KAAK,EAAE,OAAO,CAAC;CAChB,CACF,CAAC;AAkKF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,EAAE,wBAiBtC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ObtainCredential } from "./06-obtain-credential";
2
+ import type { Out } from "../../utils/misc";
3
+ /**
4
+ * The end of the issuing flow.
5
+ * The User accepted the Credential and it can be stored in the device according to the app implementation preferences.
6
+ * To be implemented.
7
+ *
8
+ * @returns The type of the Credential to be issued and the url of the Issuer
9
+ */
10
+ export type ConfirmCredential = (credential: Out<ObtainCredential>["credential"], format: Out<ObtainCredential>["format"]) => Promise<void>;
11
+ //# sourceMappingURL=08-confirm-credential.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"08-confirm-credential.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/08-confirm-credential.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,EAC/C,MAAM,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KACpC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1,2 +1,5 @@
1
+ import * as z from "zod";
1
2
  export declare const ASSERTION_TYPE = "urn:ietf:params:oauth:client-assertion-type:jwt-client-attestation";
3
+ export type SupportedCredentialFormat = z.infer<typeof SupportedCredentialFormat>;
4
+ export declare const SupportedCredentialFormat: z.ZodLiteral<"vc+sd-jwt">;
2
5
  //# sourceMappingURL=const.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,uEAC2C,CAAC"}
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/const.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,eAAO,MAAM,cAAc,uEAC2C,CAAC;AAEvE,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAC;AACF,eAAO,MAAM,yBAAyB,2BAAyB,CAAC"}
@@ -4,7 +4,8 @@ import { startUserAuthorization, type StartUserAuthorization } from "./03-start-
4
4
  import { type CompleteUserAuthorization } from "./04-complete-user-authorization";
5
5
  import { authorizeAccess, type AuthorizeAccess } from "./05-authorize-access";
6
6
  import { obtainCredential, type ObtainCredential } from "./06-obtain-credential";
7
- import type { ConfirmCredential } from "./07-confirm-credential";
8
- export { evaluateIssuerTrust, startUserAuthorization, authorizeAccess, obtainCredential, };
9
- export type { StartFlow, EvaluateIssuerTrust, StartUserAuthorization, CompleteUserAuthorization, AuthorizeAccess, ObtainCredential, ConfirmCredential, };
7
+ import { verifyAndParseCredential, type VerifyAndParseCredential } from "./07-verify-and-parse-credential";
8
+ import type { ConfirmCredential } from "./08-confirm-credential";
9
+ export { evaluateIssuerTrust, startUserAuthorization, authorizeAccess, obtainCredential, verifyAndParseCredential, };
10
+ export type { StartFlow, EvaluateIssuerTrust, StartUserAuthorization, CompleteUserAuthorization, AuthorizeAccess, ObtainCredential, VerifyAndParseCredential, ConfirmCredential, };
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,KAAK,sBAAsB,EAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EACL,gBAAgB,EAChB,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,GACjB,CAAC;AACF,YAAY,EACV,SAAS,EACT,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,KAAK,sBAAsB,EAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EACL,gBAAgB,EAChB,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,wBAAwB,EACxB,KAAK,wBAAwB,EAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,wBAAwB,GACzB,CAAC;AACF,YAAY,EACV,SAAS,EACT,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,GAClB,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import "react-native-url-polyfill/auto";
2
2
  import * as Credential from "./credential";
3
3
  import * as PID from "./pid";
4
+ import * as SdJwt from "./sd-jwt";
4
5
  import * as Errors from "./utils/errors";
5
6
  import * as WalletInstanceAttestation from "./wallet-instance-attestation";
6
7
  import * as Trust from "./trust";
7
8
  import { AuthorizationDetail, AuthorizationDetails } from "./utils/par";
8
9
  import { createCryptoContextFor } from "./utils/crypto";
9
- export { PID, Credential, WalletInstanceAttestation, Errors, Trust, createCryptoContextFor, AuthorizationDetail, AuthorizationDetails, };
10
+ export { SdJwt, PID, Credential, WalletInstanceAttestation, Errors, Trust, createCryptoContextFor, AuthorizationDetail, AuthorizationDetails, };
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,gCAAgC,CAAC;AAExC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,yBAAyB,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EACL,GAAG,EACH,UAAU,EACV,yBAAyB,EACzB,MAAM,EACN,KAAK,EACL,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,GACrB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,gCAAgC,CAAC;AAExC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,yBAAyB,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EACL,KAAK,EACL,GAAG,EACH,UAAU,EACV,yBAAyB,EACzB,MAAM,EACN,KAAK,EACL,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,GACrB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { Disclosure, type DisclosureWithEncoded } from "./types";
2
+ import { Disclosure, SdJwt4VC, type DisclosureWithEncoded } from "./types";
3
3
  import type { JWK } from "../utils/jwk";
4
4
  /**
5
5
  * Decode a given SD-JWT with Disclosures to get the parsed SD-JWT object they define.
@@ -10,12 +10,120 @@ import type { JWK } from "../utils/jwk";
10
10
  *
11
11
  * @function
12
12
  * @param token The encoded token that represents a valid sd-jwt for verifiable credentials
13
- * @param schema Schema to use to parse the SD-JWT
13
+ * @param customSchema (optional) Schema to use to parse the SD-JWT. Default: SdJwt4VC
14
14
  *
15
15
  * @returns The parsed SD-JWT token and the parsed disclosures
16
16
  *
17
17
  */
18
- export declare const decode: <S extends z.AnyZodObject>(token: string, schema: S) => {
18
+ export declare const decode: <S extends z.ZodType<{
19
+ header: {
20
+ alg: string;
21
+ typ: "vc+sd-jwt";
22
+ trust_chain: string[];
23
+ kid?: string | undefined;
24
+ };
25
+ payload: {
26
+ type: string;
27
+ status: string;
28
+ iss: string;
29
+ sub: string;
30
+ jti: string;
31
+ iat: number;
32
+ exp: number;
33
+ cnf: {
34
+ jwk: {
35
+ kty: "RSA" | "EC";
36
+ alg?: string | undefined;
37
+ crv?: string | undefined;
38
+ d?: string | undefined;
39
+ dp?: string | undefined;
40
+ dq?: string | undefined;
41
+ e?: string | undefined;
42
+ ext?: boolean | undefined;
43
+ k?: string | undefined;
44
+ key_ops?: string[] | undefined;
45
+ kid?: string | undefined;
46
+ n?: string | undefined;
47
+ p?: string | undefined;
48
+ q?: string | undefined;
49
+ qi?: string | undefined;
50
+ use?: string | undefined;
51
+ x?: string | undefined;
52
+ y?: string | undefined;
53
+ x5c?: string[] | undefined;
54
+ x5t?: string | undefined;
55
+ "x5t#S256"?: string | undefined;
56
+ x5u?: string | undefined;
57
+ };
58
+ };
59
+ verified_claims: {
60
+ verification: {
61
+ trust_framework: "eidas";
62
+ assurance_level: string;
63
+ } & {
64
+ _sd: string[];
65
+ };
66
+ claims: {
67
+ _sd: string[];
68
+ };
69
+ };
70
+ _sd_alg: "sha-256";
71
+ };
72
+ }, z.ZodTypeDef, {
73
+ header: {
74
+ alg: string;
75
+ typ: "vc+sd-jwt";
76
+ trust_chain: string[];
77
+ kid?: string | undefined;
78
+ };
79
+ payload: {
80
+ type: string;
81
+ status: string;
82
+ iss: string;
83
+ sub: string;
84
+ jti: string;
85
+ iat: number;
86
+ exp: number;
87
+ cnf: {
88
+ jwk: {
89
+ kty: "RSA" | "EC";
90
+ alg?: string | undefined;
91
+ crv?: string | undefined;
92
+ d?: string | undefined;
93
+ dp?: string | undefined;
94
+ dq?: string | undefined;
95
+ e?: string | undefined;
96
+ ext?: boolean | undefined;
97
+ k?: string | undefined;
98
+ key_ops?: string[] | undefined;
99
+ kid?: string | undefined;
100
+ n?: string | undefined;
101
+ p?: string | undefined;
102
+ q?: string | undefined;
103
+ qi?: string | undefined;
104
+ use?: string | undefined;
105
+ x?: string | undefined;
106
+ y?: string | undefined;
107
+ x5c?: string[] | undefined;
108
+ x5t?: string | undefined;
109
+ "x5t#S256"?: string | undefined;
110
+ x5u?: string | undefined;
111
+ };
112
+ };
113
+ verified_claims: {
114
+ verification: {
115
+ trust_framework: "eidas";
116
+ assurance_level: string;
117
+ } & {
118
+ _sd: string[];
119
+ };
120
+ claims: {
121
+ _sd: string[];
122
+ };
123
+ };
124
+ _sd_alg: "sha-256";
125
+ };
126
+ }>>(token: string, customSchema?: S | undefined) => {
19
127
  sdJwt: z.TypeOf<S>;
20
128
  disclosures: DisclosureWithEncoded[];
21
129
  };
@@ -50,13 +158,122 @@ export declare const disclose: (token: string, claims: string[]) => Promise<{
50
158
  *
51
159
  * @param token The encoded token that represents a valid sd-jwt for verifiable credentials
52
160
  * @param publicKey The single public key or an array of public keys to validate the signature.
53
- * @param schema Schema to use to parse the SD-JWT
161
+ * @param customSchema Schema to use to parse the SD-JWT
54
162
  *
55
163
  * @returns The parsed SD-JWT token and the parsed disclosures
56
164
  *
57
165
  */
58
- export declare const verify: <S extends z.AnyZodObject>(token: string, publicKey: JWK | JWK[], schema: S) => Promise<{
166
+ export declare const verify: <S extends z.ZodType<{
167
+ header: {
168
+ alg: string;
169
+ typ: "vc+sd-jwt";
170
+ trust_chain: string[];
171
+ kid?: string | undefined;
172
+ };
173
+ payload: {
174
+ type: string;
175
+ status: string;
176
+ iss: string;
177
+ sub: string;
178
+ jti: string;
179
+ iat: number;
180
+ exp: number;
181
+ cnf: {
182
+ jwk: {
183
+ kty: "RSA" | "EC";
184
+ alg?: string | undefined;
185
+ crv?: string | undefined;
186
+ d?: string | undefined;
187
+ dp?: string | undefined;
188
+ dq?: string | undefined;
189
+ e?: string | undefined;
190
+ ext?: boolean | undefined;
191
+ k?: string | undefined;
192
+ key_ops?: string[] | undefined;
193
+ kid?: string | undefined;
194
+ n?: string | undefined;
195
+ p?: string | undefined;
196
+ q?: string | undefined;
197
+ qi?: string | undefined;
198
+ use?: string | undefined;
199
+ x?: string | undefined;
200
+ y?: string | undefined;
201
+ x5c?: string[] | undefined;
202
+ x5t?: string | undefined;
203
+ "x5t#S256"?: string | undefined;
204
+ x5u?: string | undefined;
205
+ };
206
+ };
207
+ verified_claims: {
208
+ verification: {
209
+ trust_framework: "eidas";
210
+ assurance_level: string;
211
+ } & {
212
+ _sd: string[];
213
+ };
214
+ claims: {
215
+ _sd: string[];
216
+ };
217
+ };
218
+ _sd_alg: "sha-256";
219
+ };
220
+ }, z.ZodTypeDef, {
221
+ header: {
222
+ alg: string;
223
+ typ: "vc+sd-jwt";
224
+ trust_chain: string[];
225
+ kid?: string | undefined;
226
+ };
227
+ payload: {
228
+ type: string;
229
+ status: string;
230
+ iss: string;
231
+ sub: string;
232
+ jti: string;
233
+ iat: number;
234
+ exp: number;
235
+ cnf: {
236
+ jwk: {
237
+ kty: "RSA" | "EC";
238
+ alg?: string | undefined;
239
+ crv?: string | undefined;
240
+ d?: string | undefined;
241
+ dp?: string | undefined;
242
+ dq?: string | undefined;
243
+ e?: string | undefined;
244
+ ext?: boolean | undefined;
245
+ k?: string | undefined;
246
+ key_ops?: string[] | undefined;
247
+ kid?: string | undefined;
248
+ n?: string | undefined;
249
+ p?: string | undefined;
250
+ q?: string | undefined;
251
+ qi?: string | undefined;
252
+ use?: string | undefined;
253
+ x?: string | undefined;
254
+ y?: string | undefined;
255
+ x5c?: string[] | undefined;
256
+ x5t?: string | undefined;
257
+ "x5t#S256"?: string | undefined;
258
+ x5u?: string | undefined;
259
+ };
260
+ };
261
+ verified_claims: {
262
+ verification: {
263
+ trust_framework: "eidas";
264
+ assurance_level: string;
265
+ } & {
266
+ _sd: string[];
267
+ };
268
+ claims: {
269
+ _sd: string[];
270
+ };
271
+ };
272
+ _sd_alg: "sha-256";
273
+ };
274
+ }>>(token: string, publicKey: JWK | JWK[], customSchema?: S | undefined) => Promise<{
59
275
  sdJwt: z.TypeOf<S>;
60
276
  disclosures: Disclosure[];
61
277
  }>;
278
+ export { SdJwt4VC };
62
279
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sd-jwt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,EAAE,UAAU,EAAY,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE3E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAWxC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,oCACV,MAAM;;iBAIA,qBAAqB,EAAE;CAsBrC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,UACZ,MAAM,UACL,MAAM,EAAE;WACE,MAAM;WAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;EA8CnE,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,MAAM,oCACV,MAAM,aACF,GAAG,GAAG,GAAG,EAAE;;iBAEqB,UAAU,EAAE;EAwBxD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sd-jwt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE3E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAWxC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WACV,MAAM;;iBAIA,qBAAqB,EAAE;CA0BrC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,UACZ,MAAM,UACL,MAAM,EAAE;WACE,MAAM;WAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;EA8CnE,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WACV,MAAM,aACF,GAAG,GAAG,GAAG,EAAE;;iBAEqB,UAAU,EAAE;EAwBxD,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -23,7 +23,7 @@ export declare const Disclosure: z.ZodTuple<[z.ZodString, z.ZodString, z.ZodUnkn
23
23
  * For such reason, we may find conveninent to have encoded and decode values stored explicitly in the same structure.
24
24
  * Please note that `encoded` can always decode into `decode`, but `decode` may or may not be encoded with the same value of `encoded`
25
25
  *
26
- * @see https://www.ietf.org/id/draft-ietf-oauth-selective-disclosure-jwt-05.html#name-disclosures-for-object-prop
26
+ * @see https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-05.html#name-disclosures-for-object-prop
27
27
  */
28
28
  export type DisclosureWithEncoded = {
29
29
  decoded: Disclosure;
@@ -102,6 +102,7 @@ export declare const getWalletProviderEntityConfiguration: (entityBaseUrl: Param
102
102
  federation_resolve_endpoint?: string | undefined;
103
103
  federation_trust_mark_status_endpoint?: string | undefined;
104
104
  federation_trust_mark_list_endpoint?: string | undefined;
105
+ organization_name?: string | undefined;
105
106
  homepage_uri?: string | undefined;
106
107
  policy_uri?: string | undefined;
107
108
  logo_uri?: string | undefined;
@@ -201,6 +202,7 @@ export declare const getCredentialIssuerEntityConfiguration: (entityBaseUrl: Par
201
202
  federation_resolve_endpoint?: string | undefined;
202
203
  federation_trust_mark_status_endpoint?: string | undefined;
203
204
  federation_trust_mark_list_endpoint?: string | undefined;
205
+ organization_name?: string | undefined;
204
206
  homepage_uri?: string | undefined;
205
207
  policy_uri?: string | undefined;
206
208
  logo_uri?: string | undefined;
@@ -289,7 +291,7 @@ export declare const getCredentialIssuerEntityConfiguration: (entityBaseUrl: Par
289
291
  background_color: string;
290
292
  text_color: string;
291
293
  }[];
292
- format: "vc+sd-jwt";
294
+ format: "vc+sd-jwt" | "vc+mdoc-cbor";
293
295
  cryptographic_binding_methods_supported: string[];
294
296
  cryptographic_suites_supported: string[];
295
297
  credential_definition: {
@@ -383,6 +385,7 @@ export declare const getTrustAnchorEntityConfiguration: (entityBaseUrl: Paramete
383
385
  federation_resolve_endpoint?: string | undefined;
384
386
  federation_trust_mark_status_endpoint?: string | undefined;
385
387
  federation_trust_mark_list_endpoint?: string | undefined;
388
+ organization_name?: string | undefined;
386
389
  homepage_uri?: string | undefined;
387
390
  policy_uri?: string | undefined;
388
391
  logo_uri?: string | undefined;
@@ -442,6 +445,7 @@ export declare const getRelyingPartyEntityConfiguration: (entityBaseUrl: Paramet
442
445
  federation_resolve_endpoint?: string | undefined;
443
446
  federation_trust_mark_status_endpoint?: string | undefined;
444
447
  federation_trust_mark_list_endpoint?: string | undefined;
448
+ organization_name?: string | undefined;
445
449
  homepage_uri?: string | undefined;
446
450
  policy_uri?: string | undefined;
447
451
  logo_uri?: string | undefined;
@@ -538,6 +542,7 @@ export declare const getEntityConfiguration: (entityBaseUrl: Parameters<typeof f
538
542
  federation_resolve_endpoint?: string | undefined;
539
543
  federation_trust_mark_status_endpoint?: string | undefined;
540
544
  federation_trust_mark_list_endpoint?: string | undefined;
545
+ organization_name?: string | undefined;
541
546
  homepage_uri?: string | undefined;
542
547
  policy_uri?: string | undefined;
543
548
  logo_uri?: string | undefined;
@@ -596,6 +601,7 @@ export declare const getEntityConfiguration: (entityBaseUrl: Parameters<typeof f
596
601
  federation_resolve_endpoint?: string | undefined;
597
602
  federation_trust_mark_status_endpoint?: string | undefined;
598
603
  federation_trust_mark_list_endpoint?: string | undefined;
604
+ organization_name?: string | undefined;
599
605
  homepage_uri?: string | undefined;
600
606
  policy_uri?: string | undefined;
601
607
  logo_uri?: string | undefined;
@@ -684,7 +690,7 @@ export declare const getEntityConfiguration: (entityBaseUrl: Parameters<typeof f
684
690
  background_color: string;
685
691
  text_color: string;
686
692
  }[];
687
- format: "vc+sd-jwt";
693
+ format: "vc+sd-jwt" | "vc+mdoc-cbor";
688
694
  cryptographic_binding_methods_supported: string[];
689
695
  cryptographic_suites_supported: string[];
690
696
  credential_definition: {
@@ -777,6 +783,7 @@ export declare const getEntityConfiguration: (entityBaseUrl: Parameters<typeof f
777
783
  federation_resolve_endpoint?: string | undefined;
778
784
  federation_trust_mark_status_endpoint?: string | undefined;
779
785
  federation_trust_mark_list_endpoint?: string | undefined;
786
+ organization_name?: string | undefined;
780
787
  homepage_uri?: string | undefined;
781
788
  policy_uri?: string | undefined;
782
789
  logo_uri?: string | undefined;
@@ -872,6 +879,7 @@ export declare const getEntityConfiguration: (entityBaseUrl: Parameters<typeof f
872
879
  federation_resolve_endpoint?: string | undefined;
873
880
  federation_trust_mark_status_endpoint?: string | undefined;
874
881
  federation_trust_mark_list_endpoint?: string | undefined;
882
+ organization_name?: string | undefined;
875
883
  homepage_uri?: string | undefined;
876
884
  policy_uri?: string | undefined;
877
885
  logo_uri?: string | undefined;