IO Wallet SDK
    Preparing search index...

    Function createCredentialRequest

    • Creates a credential request according to the configured Italian Wallet specification version.

      Version Differences:

      • v1.0: Returns singular proof object with explicit proof_type field
      • v1.3: Returns plural proofs object with JWT array (batch support) and requires key attestation

      Parameters

      Returns Promise<
          {
              credential_configuration_id?: string;
              credential_identifier?: string;
              proof: { jwt: string; proof_type: "jwt" };
              transaction_id?: string;
          },
      >

      Version-specific credential request object

      When version is not supported or keyAttestation is used with wrong version

      v1.0 - Basic credential request
      const config = new IoWalletSdkConfig({ itWalletSpecsVersion: ItWalletSpecsVersion.V1_0 });
      const request = await createCredentialRequest({
      config,
      callbacks: { signJwt: mySignJwtCallback },
      clientId: "my-client-id",
      credential_identifier: "UniversityDegree",
      issuerIdentifier: "https://issuer.example.com",
      nonce: "c_nonce_value",
      signer: myJwtSigner
      });
      // Returns: { credential_identifier: "...", proof: { jwt: "...", proof_type: "jwt" } }
      v1.3 - Credential request with key attestation
      const config = new IoWalletSdkConfig({ itWalletSpecsVersion: ItWalletSpecsVersion.V1_3 });
      const request = await createCredentialRequest({
      config,
      callbacks: { signJwt: mySignJwtCallback, hash: myHashCallback },
      clientId: "my-client-id",
      credential_identifier: "education_degree_unibo_2017_l31_informatica",
      issuerIdentifier: "https://issuer.example.com",
      keyAttestation: 'eyJ...', // Required for v1.3
      nonce: "c_nonce_value",
      signers: [myJwtSigner]
      });
      // Returns: { credential_identifier: "...", proofs: { jwt: ["..."] } }
    • Creates a credential request according to the configured Italian Wallet specification version.

      Version Differences:

      • v1.0: Returns singular proof object with explicit proof_type field
      • v1.3: Returns plural proofs object with JWT array (batch support) and requires key attestation

      Parameters

      Returns Promise<
          {
              credential_configuration_id?: string;
              credential_identifier?: string;
              proofs: { jwt: [string, ...string[]] };
              transaction_id?: string;
          },
      >

      Version-specific credential request object

      When version is not supported or keyAttestation is used with wrong version

      v1.0 - Basic credential request
      const config = new IoWalletSdkConfig({ itWalletSpecsVersion: ItWalletSpecsVersion.V1_0 });
      const request = await createCredentialRequest({
      config,
      callbacks: { signJwt: mySignJwtCallback },
      clientId: "my-client-id",
      credential_identifier: "UniversityDegree",
      issuerIdentifier: "https://issuer.example.com",
      nonce: "c_nonce_value",
      signer: myJwtSigner
      });
      // Returns: { credential_identifier: "...", proof: { jwt: "...", proof_type: "jwt" } }
      v1.3 - Credential request with key attestation
      const config = new IoWalletSdkConfig({ itWalletSpecsVersion: ItWalletSpecsVersion.V1_3 });
      const request = await createCredentialRequest({
      config,
      callbacks: { signJwt: mySignJwtCallback, hash: myHashCallback },
      clientId: "my-client-id",
      credential_identifier: "education_degree_unibo_2017_l31_informatica",
      issuerIdentifier: "https://issuer.example.com",
      keyAttestation: 'eyJ...', // Required for v1.3
      nonce: "c_nonce_value",
      signers: [myJwtSigner]
      });
      // Returns: { credential_identifier: "...", proofs: { jwt: ["..."] } }