UNPKG

@sphereon/did-auth-siop

Version:

Self Issued OpenID V2 (SIOPv2) and OpenID 4 Verifiable Presentations (OID4VP)

328 lines 14.7 kB
import { Hasher } from '@sphereon/ssi-types'; import { DcqlPresentation, DcqlQuery } from 'dcql'; import { AuthorizationRequestPayload } from '../types'; /** * Finds a valid DcqlQuery inside the given AuthenticationRequestPayload * throws exception if the DcqlQuery is not valid * returns the decoded dcql query if a valid instance found * @param authorizationRequestPayload object that can have a dcql_query inside * @param version */ export declare class Dcql { static findValidDcqlQuery: (authorizationRequestPayload: AuthorizationRequestPayload) => Promise<DcqlQuery | undefined>; static getDcqlPresentationResult: (record: DcqlPresentation | string, dcqlQuery: DcqlQuery, opts: { hasher?: Hasher; }) => { credentials: [{ id: string; format: "mso_mdoc"; claims?: [{ namespace: string; claim_name: string; values?: (string | number | boolean)[]; id?: string; }, ...{ namespace: string; claim_name: string; values?: (string | number | boolean)[]; id?: string; }[]]; claim_sets?: [string[], ...string[][]]; meta?: { doctype_value?: string; }; } | { id: string; format: "vc+sd-jwt" | "dc+sd-jwt"; claims?: [{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }, ...{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }[]]; claim_sets?: [string[], ...string[][]]; meta?: { vct_values?: string[]; }; } | { id: string; format: "jwt_vc_json" | "jwt_vc_json-ld"; claims?: [{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }, ...{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }[]]; claim_sets?: [string[], ...string[][]]; }, ...({ id: string; format: "mso_mdoc"; claims?: [{ namespace: string; claim_name: string; values?: (string | number | boolean)[]; id?: string; }, ...{ namespace: string; claim_name: string; values?: (string | number | boolean)[]; id?: string; }[]]; claim_sets?: [string[], ...string[][]]; meta?: { doctype_value?: string; }; } | { id: string; format: "vc+sd-jwt" | "dc+sd-jwt"; claims?: [{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }, ...{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }[]]; claim_sets?: [string[], ...string[][]]; meta?: { vct_values?: string[]; }; } | { id: string; format: "jwt_vc_json" | "jwt_vc_json-ld"; claims?: [{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }, ...{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }[]]; claim_sets?: [string[], ...string[][]]; })[]]; invalid_matches: { [x: string]: { output: unknown; issues: [unknown, ...unknown[]]; presentation_id: string; success: false; typed: boolean; claim_set_index: number; }; }; valid_matches: { [x: string]: { output: { credential_format: "mso_mdoc"; doctype: string; namespaces: { [x: string]: { [x: string]: unknown; }; }; } | { claims: { [x: string]: string | number | boolean | { [key: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[]; } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[]; }; credential_format: "vc+sd-jwt" | "dc+sd-jwt"; vct: string; } | { claims: { [x: string]: string | number | boolean | { [key: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[]; } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[]; }; credential_format: "jwt_vc_json" | "jwt_vc_json-ld"; }; presentation_id: string; success: true; typed: true; claim_set_index: number; }; }; canBeSatisfied: boolean; credential_sets?: [{ options: [string[], ...string[][]]; required: boolean; matching_options: [string[], ...string[][]]; purpose?: string | number | { [x: string]: unknown; }; }, ...{ options: [string[], ...string[][]]; required: boolean; matching_options: [string[], ...string[][]]; purpose?: string | number | { [x: string]: unknown; }; }[]]; }; static assertValidDcqlPresentationResult: (record: DcqlPresentation | string, dcqlQuery: DcqlQuery, opts: { hasher?: Hasher; }) => Promise<{ credentials: [{ id: string; format: "mso_mdoc"; claims?: [{ namespace: string; claim_name: string; values?: (string | number | boolean)[]; id?: string; }, ...{ namespace: string; claim_name: string; values?: (string | number | boolean)[]; id?: string; }[]]; claim_sets?: [string[], ...string[][]]; meta?: { doctype_value?: string; }; } | { id: string; format: "vc+sd-jwt" | "dc+sd-jwt"; claims?: [{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }, ...{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }[]]; claim_sets?: [string[], ...string[][]]; meta?: { vct_values?: string[]; }; } | { id: string; format: "jwt_vc_json" | "jwt_vc_json-ld"; claims?: [{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }, ...{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }[]]; claim_sets?: [string[], ...string[][]]; }, ...({ id: string; format: "mso_mdoc"; claims?: [{ namespace: string; claim_name: string; values?: (string | number | boolean)[]; id?: string; }, ...{ namespace: string; claim_name: string; values?: (string | number | boolean)[]; id?: string; }[]]; claim_sets?: [string[], ...string[][]]; meta?: { doctype_value?: string; }; } | { id: string; format: "vc+sd-jwt" | "dc+sd-jwt"; claims?: [{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }, ...{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }[]]; claim_sets?: [string[], ...string[][]]; meta?: { vct_values?: string[]; }; } | { id: string; format: "jwt_vc_json" | "jwt_vc_json-ld"; claims?: [{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }, ...{ path: (string | number)[]; values?: (string | number | boolean)[]; id?: string; }[]]; claim_sets?: [string[], ...string[][]]; })[]]; canBeSatisfied: boolean; invalid_matches: { [x: string]: { output: unknown; issues: [unknown, ...unknown[]]; success: false; typed: boolean; claim_set_index: number; presentation_id: string; }; }; valid_matches: { [x: string]: { output: { credential_format: "mso_mdoc"; doctype: string; namespaces: { [x: string]: { [x: string]: unknown; }; }; } | { credential_format: "vc+sd-jwt" | "dc+sd-jwt"; vct: string; claims: { [x: string]: string | number | boolean | { [key: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[]; } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[]; }; } | { credential_format: "jwt_vc_json" | "jwt_vc_json-ld"; claims: { [x: string]: string | number | boolean | { [key: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[]; } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[]; }; }; success: true; typed: true; claim_set_index: number; presentation_id: string; }; }; credential_sets?: [{ options: [string[], ...string[][]]; required: boolean; matching_options: [string[], ...string[][]]; purpose?: string | number | { [x: string]: unknown; }; }, ...{ options: [string[], ...string[][]]; required: boolean; matching_options: [string[], ...string[][]]; purpose?: string | number | { [x: string]: unknown; }; }[]]; }>; } //# sourceMappingURL=Dcql.d.ts.map