@sphereon/did-auth-siop
Version:
Self Issued OpenID V2 (SIOPv2) and OpenID 4 Verifiable Presentations (OID4VP)
328 lines • 14.7 kB
TypeScript
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