@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth 0.33.1-feature.vcdm2.tsup.31 → 0.33.1-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,21 @@
1
+ import { AuthorizationRequest, RP, URI } from '@sphereon/did-auth-siop';
2
+ import { ICreateAuthRequestArgs, IPEXOptions, IRequiredContext, IRPOptions } from './types/ISIOPv2RP';
3
+ import { IPresentationDefinition } from '@sphereon/pex';
4
+ export declare class RPInstance {
5
+ private _rp;
6
+ private readonly _pexOptions;
7
+ private readonly _rpOptions;
8
+ constructor({ rpOpts, pexOpts }: {
9
+ rpOpts: IRPOptions;
10
+ pexOpts?: IPEXOptions;
11
+ });
12
+ get(context: IRequiredContext): Promise<RP>;
13
+ get rpOptions(): IRPOptions;
14
+ get pexOptions(): IPEXOptions | undefined;
15
+ hasDefinition(): boolean;
16
+ get definitionId(): string | undefined;
17
+ getPresentationDefinition(context: IRequiredContext): Promise<IPresentationDefinition | undefined>;
18
+ createAuthorizationRequestURI(createArgs: Omit<ICreateAuthRequestArgs, 'definitionId'>, context: IRequiredContext): Promise<URI>;
19
+ createAuthorizationRequest(createArgs: Omit<ICreateAuthRequestArgs, 'definitionId'>, context: IRequiredContext): Promise<AuthorizationRequest>;
20
+ }
21
+ //# sourceMappingURL=RPInstance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RPInstance.d.ts","sourceRoot":"","sources":["../src/RPInstance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACrG,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAUvD,qBAAa,UAAU;IACrB,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;gBAEpB,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,CAAC,EAAE,WAAW,CAAA;KAAE;IAKxE,GAAG,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,EAAE,CAAC;IAYxD,IAAI,SAAS,eAEZ;IAED,IAAI,UAAU,4BAEb;IAEM,aAAa,IAAI,OAAO;IAI/B,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IAEY,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IASlG,6BAA6B,CAAC,UAAU,EAAE,IAAI,CAAC,sBAAsB,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAsChI,0BAA0B,CACrC,UAAU,EAAE,IAAI,CAAC,sBAAsB,EAAE,cAAc,CAAC,EACxD,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,oBAAoB,CAAC;CAuCjC"}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RPInstance = void 0;
13
+ const functions_1 = require("./functions");
14
+ const uuid_1 = require("uuid");
15
+ const ssi_sdk_ext_identifier_resolution_1 = require("@sphereon/ssi-sdk-ext.identifier-resolution");
16
+ class RPInstance {
17
+ constructor({ rpOpts, pexOpts }) {
18
+ this._rpOptions = rpOpts;
19
+ this._pexOptions = pexOpts;
20
+ }
21
+ get(context) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ if (!this._rp) {
24
+ const builder = yield (0, functions_1.createRPBuilder)({
25
+ rpOpts: this._rpOptions,
26
+ pexOpts: this._pexOptions,
27
+ context,
28
+ });
29
+ this._rp = builder.build();
30
+ }
31
+ return this._rp;
32
+ });
33
+ }
34
+ get rpOptions() {
35
+ return this._rpOptions;
36
+ }
37
+ get pexOptions() {
38
+ return this._pexOptions;
39
+ }
40
+ hasDefinition() {
41
+ return this.definitionId !== undefined;
42
+ }
43
+ get definitionId() {
44
+ var _a;
45
+ return (_a = this.pexOptions) === null || _a === void 0 ? void 0 : _a.definitionId;
46
+ }
47
+ getPresentationDefinition(context) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ var _a;
50
+ return this.definitionId
51
+ ? yield context.agent.pexStoreGetDefinition({
52
+ definitionId: this.definitionId,
53
+ tenantId: (_a = this.pexOptions) === null || _a === void 0 ? void 0 : _a.tenantId,
54
+ })
55
+ : undefined;
56
+ });
57
+ }
58
+ createAuthorizationRequestURI(createArgs, context) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ var _a, _b;
61
+ const { correlationId, claims, requestByReferenceURI, responseURI, responseURIType } = createArgs;
62
+ const nonce = (_a = createArgs.nonce) !== null && _a !== void 0 ? _a : (0, uuid_1.v4)();
63
+ const state = (_b = createArgs.state) !== null && _b !== void 0 ? _b : correlationId;
64
+ let jwtIssuer;
65
+ const idOpts = this.rpOptions.identifierOpts.idOpts;
66
+ const resolution = yield (0, ssi_sdk_ext_identifier_resolution_1.ensureManagedIdentifierResult)(idOpts, context);
67
+ if ((0, ssi_sdk_ext_identifier_resolution_1.isManagedIdentifierDidResult)(resolution)) {
68
+ jwtIssuer = { didUrl: resolution.kid, method: 'did', alg: (0, functions_1.getSigningAlgo)(resolution.key.type) };
69
+ }
70
+ else if ((0, ssi_sdk_ext_identifier_resolution_1.isManagedIdentifierX5cResult)(resolution)) {
71
+ if (!resolution.issuer) {
72
+ return Promise.reject('missing issuer in idOpts');
73
+ }
74
+ jwtIssuer = {
75
+ issuer: resolution.issuer,
76
+ x5c: resolution.x5c,
77
+ method: 'x5c',
78
+ alg: (0, functions_1.getSigningAlgo)(resolution.key.type),
79
+ };
80
+ }
81
+ else {
82
+ return Promise.reject(Error(`JWT issuer method ${resolution.method} not yet supported`));
83
+ }
84
+ return yield this.get(context).then((rp) => rp.createAuthorizationRequestURI({
85
+ version: (0, functions_1.getRequestVersion)(this.rpOptions),
86
+ correlationId,
87
+ nonce,
88
+ state,
89
+ claims,
90
+ requestByReferenceURI,
91
+ responseURI,
92
+ responseURIType,
93
+ jwtIssuer,
94
+ }));
95
+ });
96
+ }
97
+ createAuthorizationRequest(createArgs, context) {
98
+ return __awaiter(this, void 0, void 0, function* () {
99
+ var _a, _b;
100
+ const { correlationId, claims, requestByReferenceURI, responseURI, responseURIType } = createArgs;
101
+ const nonce = (_a = createArgs.nonce) !== null && _a !== void 0 ? _a : (0, uuid_1.v4)();
102
+ const state = (_b = createArgs.state) !== null && _b !== void 0 ? _b : correlationId;
103
+ const idOpts = this.rpOptions.identifierOpts.idOpts;
104
+ const resolution = yield (0, ssi_sdk_ext_identifier_resolution_1.ensureManagedIdentifierResult)(idOpts, context);
105
+ let jwtIssuer;
106
+ if ((0, ssi_sdk_ext_identifier_resolution_1.isManagedIdentifierX5cResult)(resolution) && resolution.issuer) {
107
+ jwtIssuer = {
108
+ method: resolution.method,
109
+ alg: (0, functions_1.getSigningAlgo)(resolution.key.type),
110
+ x5c: resolution.x5c,
111
+ issuer: resolution.issuer,
112
+ };
113
+ }
114
+ else if ((0, ssi_sdk_ext_identifier_resolution_1.isManagedIdentifierDidResult)(resolution)) {
115
+ jwtIssuer = {
116
+ method: resolution.method,
117
+ alg: (0, functions_1.getSigningAlgo)(resolution.key.type),
118
+ didUrl: resolution.did,
119
+ };
120
+ }
121
+ else {
122
+ return Promise.reject(Error('Only did & x5c supported at present'));
123
+ }
124
+ return yield this.get(context).then((rp) => rp.createAuthorizationRequest({
125
+ version: (0, functions_1.getRequestVersion)(this.rpOptions),
126
+ correlationId,
127
+ nonce,
128
+ state,
129
+ claims,
130
+ requestByReferenceURI,
131
+ responseURIType,
132
+ responseURI,
133
+ jwtIssuer,
134
+ }));
135
+ });
136
+ }
137
+ }
138
+ exports.RPInstance = RPInstance;
139
+ //# sourceMappingURL=RPInstance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RPInstance.js","sourceRoot":"","sources":["../src/RPInstance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { IAgentPlugin } from '@veramo/core';
2
+ import { IPEXInstanceOptions, IRequiredContext, IRPDefaultOpts, IRPOptions, ISiopRPInstanceArgs, ISiopv2RPOpts } from '../index';
3
+ import { RPInstance } from '../RPInstance';
4
+ import { ISIOPv2RP } from '../types/ISIOPv2RP';
5
+ export declare class SIOPv2RP implements IAgentPlugin {
6
+ private readonly opts;
7
+ private static readonly _DEFAULT_OPTS_KEY;
8
+ private readonly instances;
9
+ readonly schema: any;
10
+ readonly methods: ISIOPv2RP;
11
+ constructor(opts: ISiopv2RPOpts);
12
+ setDefaultOpts(rpDefaultOpts: IRPDefaultOpts, context: IRequiredContext): void;
13
+ private createAuthorizationRequestURI;
14
+ private createAuthorizationRequestPayloads;
15
+ private siopGetRequestState;
16
+ private siopGetResponseState;
17
+ private presentationOrClaimsFrom;
18
+ private siopUpdateRequestState;
19
+ private siopDeleteState;
20
+ private siopVerifyAuthResponse;
21
+ private siopImportDefinitions;
22
+ private siopGetRedirectURI;
23
+ getRPInstance({ definitionId, responseRedirectURI }: ISiopRPInstanceArgs, context: IRequiredContext): Promise<RPInstance>;
24
+ getRPOptions(context: IRequiredContext, opts: {
25
+ definitionId?: string;
26
+ responseRedirectURI?: string;
27
+ }): Promise<IRPOptions>;
28
+ getInstanceOpts(definitionId?: string): IPEXInstanceOptions | undefined;
29
+ private getDefaultOptions;
30
+ }
31
+ //# sourceMappingURL=SIOPv2RP.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SIOPv2RP.d.ts","sourceRoot":"","sources":["../../src/agent/SIOPv2RP.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAQL,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,aAAa,EAKd,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAI9C,qBAAa,QAAS,YAAW,YAAY;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAa;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,QAAQ,CAAC,MAAM,MAAqC;IAEpD,QAAQ,CAAC,OAAO,EAAE,SAAS,CAU1B;gBAEW,IAAI,EAAE,aAAa;IAIxB,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB;YAehE,6BAA6B;YAM7B,kCAAkC;YAgBlC,mBAAmB;YAMnB,oBAAoB;IAoElC,OAAO,CAAC,wBAAwB,CAUmE;YAErF,sBAAsB;YAiBtB,eAAe;YAMf,sBAAsB;YAoBtB,qBAAqB;YAqBrB,kBAAkB;IAgB1B,aAAa,CAAC,EAAE,YAAY,EAAE,mBAAmB,EAAE,EAAE,mBAAmB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA0BzH,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAmCjI,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAQvE,OAAO,CAAC,iBAAiB;CAc1B"}
@@ -0,0 +1,284 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SIOPv2RP = void 0;
13
+ const did_auth_siop_1 = require("@sphereon/did-auth-siop");
14
+ const ssi_sdk_ext_did_utils_1 = require("@sphereon/ssi-sdk-ext.did-utils");
15
+ const ssi_types_1 = require("@sphereon/ssi-types");
16
+ const index_1 = require("../index");
17
+ const RPInstance_1 = require("../RPInstance");
18
+ const ssi_sdk_core_1 = require("@sphereon/ssi-sdk.core");
19
+ class SIOPv2RP {
20
+ constructor(opts) {
21
+ this.instances = new Map();
22
+ this.schema = index_1.schema.IDidAuthSiopOpAuthenticator;
23
+ this.methods = {
24
+ siopCreateAuthRequestURI: this.createAuthorizationRequestURI.bind(this),
25
+ siopCreateAuthRequestPayloads: this.createAuthorizationRequestPayloads.bind(this),
26
+ siopGetAuthRequestState: this.siopGetRequestState.bind(this),
27
+ siopGetAuthResponseState: this.siopGetResponseState.bind(this),
28
+ siopUpdateAuthRequestState: this.siopUpdateRequestState.bind(this),
29
+ siopDeleteAuthState: this.siopDeleteState.bind(this),
30
+ siopVerifyAuthResponse: this.siopVerifyAuthResponse.bind(this),
31
+ siopImportDefinitions: this.siopImportDefinitions.bind(this),
32
+ siopGetRedirectURI: this.siopGetRedirectURI.bind(this),
33
+ };
34
+ this.presentationOrClaimsFrom = (presentationDecoded) => ssi_types_1.CredentialMapper.isSdJwtDecodedCredential(presentationDecoded)
35
+ ? presentationDecoded.decodedPayload
36
+ : ssi_types_1.CredentialMapper.toUniformPresentation(presentationDecoded);
37
+ this.opts = opts;
38
+ }
39
+ setDefaultOpts(rpDefaultOpts, context) {
40
+ var _a;
41
+ // We allow setting default options later, because in some cases you might want to query the agent for defaults. This cannot happen when the agent is being build (this is when the constructor is being called)
42
+ this.opts.defaultOpts = rpDefaultOpts;
43
+ // We however do require the agent to be responsible for resolution, otherwise people might encounter strange errors, that are very hard to track down
44
+ if (!((_a = this.opts.defaultOpts.identifierOpts.resolveOpts) === null || _a === void 0 ? void 0 : _a.resolver) ||
45
+ typeof this.opts.defaultOpts.identifierOpts.resolveOpts.resolver.resolve !== 'function') {
46
+ this.opts.defaultOpts.identifierOpts.resolveOpts = Object.assign(Object.assign({}, this.opts.defaultOpts.identifierOpts.resolveOpts), { resolver: (0, ssi_sdk_ext_did_utils_1.getAgentResolver)(context, { uniresolverResolution: true, resolverResolution: true, localResolution: true }) });
47
+ }
48
+ }
49
+ createAuthorizationRequestURI(createArgs, context) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ return yield this.getRPInstance({ definitionId: createArgs.definitionId, responseRedirectURI: createArgs.responseRedirectURI }, context)
52
+ .then((rp) => rp.createAuthorizationRequestURI(createArgs, context))
53
+ .then((URI) => URI.encodedUri);
54
+ });
55
+ }
56
+ createAuthorizationRequestPayloads(createArgs, context) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ return yield this.getRPInstance({ definitionId: createArgs.definitionId }, context)
59
+ .then((rp) => rp.createAuthorizationRequest(createArgs, context))
60
+ .then((request) => __awaiter(this, void 0, void 0, function* () {
61
+ var _a;
62
+ const authRequest = {
63
+ authorizationRequest: request.payload,
64
+ requestObject: yield request.requestObjectJwt(),
65
+ requestObjectDecoded: yield ((_a = request.requestObject) === null || _a === void 0 ? void 0 : _a.getPayload()),
66
+ };
67
+ return authRequest;
68
+ }));
69
+ });
70
+ }
71
+ siopGetRequestState(args, context) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ return yield this.getRPInstance({ definitionId: args.definitionId }, context).then((rp) => rp.get(context).then((rp) => rp.sessionManager.getRequestStateByCorrelationId(args.correlationId, args.errorOnNotFound)));
74
+ });
75
+ }
76
+ siopGetResponseState(args, context) {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ var _a, _b, _c;
79
+ const rpInstance = yield this.getRPInstance({ definitionId: args.definitionId }, context);
80
+ const authorizationResponseState = yield rpInstance
81
+ .get(context)
82
+ .then((rp) => rp.sessionManager.getResponseStateByCorrelationId(args.correlationId, args.errorOnNotFound));
83
+ if (authorizationResponseState === undefined) {
84
+ return undefined;
85
+ }
86
+ const responseState = authorizationResponseState;
87
+ if (responseState.status === did_auth_siop_1.AuthorizationResponseStateStatus.VERIFIED &&
88
+ args.includeVerifiedData &&
89
+ args.includeVerifiedData !== index_1.VerifiedDataMode.NONE) {
90
+ let hasher;
91
+ if (ssi_types_1.CredentialMapper.isSdJwtEncoded(responseState.response.payload.vp_token) &&
92
+ (!((_a = rpInstance.rpOptions.credentialOpts) === null || _a === void 0 ? void 0 : _a.hasher) || typeof ((_b = rpInstance.rpOptions.credentialOpts) === null || _b === void 0 ? void 0 : _b.hasher) !== 'function')) {
93
+ hasher = ssi_sdk_core_1.shaHasher;
94
+ }
95
+ // todo this should also include mdl-mdoc
96
+ const presentationDecoded = ssi_types_1.CredentialMapper.decodeVerifiablePresentation(responseState.response.payload.vp_token,
97
+ //todo: later we want to conditionally pass in options for mdl-mdoc here
98
+ hasher);
99
+ switch (args.includeVerifiedData) {
100
+ case index_1.VerifiedDataMode.VERIFIED_PRESENTATION:
101
+ responseState.response.payload.verifiedData = this.presentationOrClaimsFrom(presentationDecoded);
102
+ break;
103
+ case index_1.VerifiedDataMode.CREDENTIAL_SUBJECT_FLATTENED: // TODO debug cs-flat for SD-JWT
104
+ const allClaims = {};
105
+ for (const credential of this.presentationOrClaimsFrom(presentationDecoded).verifiableCredential || []) {
106
+ const vc = credential;
107
+ const schemaValidationResult = yield context.agent.cvVerifySchema({
108
+ credential,
109
+ hasher,
110
+ validationPolicy: (_c = rpInstance.rpOptions.verificationPolicies) === null || _c === void 0 ? void 0 : _c.schemaValidation,
111
+ });
112
+ if (!schemaValidationResult.result) {
113
+ responseState.status = did_auth_siop_1.AuthorizationResponseStateStatus.ERROR;
114
+ responseState.error = new Error(schemaValidationResult.error);
115
+ return responseState;
116
+ }
117
+ const credentialSubject = vc.credentialSubject;
118
+ if (!('id' in allClaims)) {
119
+ allClaims['id'] = credentialSubject.id;
120
+ }
121
+ Object.entries(credentialSubject).forEach(([key, value]) => {
122
+ if (!(key in allClaims)) {
123
+ allClaims[key] = value;
124
+ }
125
+ });
126
+ }
127
+ responseState.verifiedData = allClaims;
128
+ break;
129
+ }
130
+ }
131
+ return responseState;
132
+ });
133
+ }
134
+ siopUpdateRequestState(args, context) {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ if (args.state !== 'sent') {
137
+ throw Error(`Only 'sent' status is supported for this method at this point`);
138
+ }
139
+ return yield this.getRPInstance({ definitionId: args.definitionId }, context)
140
+ // todo: In the SIOP library we need to update the signal method to be more like this method
141
+ .then((rp) => rp.get(context).then((rp) => __awaiter(this, void 0, void 0, function* () {
142
+ yield rp.signalAuthRequestRetrieved({
143
+ correlationId: args.correlationId,
144
+ error: args.error ? new Error(args.error) : undefined,
145
+ });
146
+ return (yield rp.sessionManager.getRequestStateByCorrelationId(args.correlationId, true));
147
+ })));
148
+ });
149
+ }
150
+ siopDeleteState(args, context) {
151
+ return __awaiter(this, void 0, void 0, function* () {
152
+ return yield this.getRPInstance({ definitionId: args.definitionId }, context)
153
+ .then((rp) => rp.get(context).then((rp) => rp.sessionManager.deleteStateForCorrelationId(args.correlationId)))
154
+ .then(() => true);
155
+ });
156
+ }
157
+ siopVerifyAuthResponse(args, context) {
158
+ return __awaiter(this, void 0, void 0, function* () {
159
+ if (!args.authorizationResponse) {
160
+ throw Error('No SIOPv2 Authorization Response received');
161
+ }
162
+ const authResponse = typeof args.authorizationResponse === 'string'
163
+ ? (0, did_auth_siop_1.decodeUriAsJson)(args.authorizationResponse)
164
+ : args.authorizationResponse;
165
+ return yield this.getRPInstance({ definitionId: args.definitionId }, context).then((rp) => rp.get(context).then((rp) => rp.verifyAuthorizationResponse(authResponse, Object.assign(Object.assign(Object.assign({ correlationId: args.correlationId }, (args.presentationDefinitions && !args.dcqlQuery ? { presentationDefinitions: args.presentationDefinitions } : {})), (args.dcqlQuery ? { dcqlQuery: args.dcqlQuery } : {})), { audience: args.audience }))));
166
+ });
167
+ }
168
+ siopImportDefinitions(args, context) {
169
+ return __awaiter(this, void 0, void 0, function* () {
170
+ const { definitions, tenantId, version, versionControlMode } = args;
171
+ yield Promise.all(definitions.map((definitionPair) => __awaiter(this, void 0, void 0, function* () {
172
+ const definitionPayload = definitionPair.definitionPayload;
173
+ yield context.agent.pexValidateDefinition({ definition: definitionPayload });
174
+ console.log(`persisting definition ${definitionPayload.id} / ${definitionPayload.name} with versionControlMode ${versionControlMode}`);
175
+ return context.agent.pdmPersistDefinition({
176
+ definitionItem: {
177
+ tenantId: tenantId,
178
+ version: version,
179
+ definitionPayload,
180
+ dcqlPayload: definitionPair.dcqlPayload,
181
+ },
182
+ opts: { versionControlMode: versionControlMode },
183
+ });
184
+ })));
185
+ });
186
+ }
187
+ siopGetRedirectURI(args, context) {
188
+ return __awaiter(this, void 0, void 0, function* () {
189
+ var _a;
190
+ const instanceId = (_a = args.definitionId) !== null && _a !== void 0 ? _a : SIOPv2RP._DEFAULT_OPTS_KEY;
191
+ if (this.instances.has(instanceId)) {
192
+ const rpInstance = this.instances.get(instanceId);
193
+ if (rpInstance !== undefined) {
194
+ const rp = yield rpInstance.get(context);
195
+ return rp.getResponseRedirectUri(Object.assign({ correlation_id: args.correlationId, correlationId: args.correlationId }, (args.state && { state: args.state })));
196
+ }
197
+ }
198
+ return undefined;
199
+ });
200
+ }
201
+ getRPInstance(_a, context_1) {
202
+ return __awaiter(this, arguments, void 0, function* ({ definitionId, responseRedirectURI }, context) {
203
+ var _b, _c;
204
+ const instanceId = definitionId !== null && definitionId !== void 0 ? definitionId : SIOPv2RP._DEFAULT_OPTS_KEY;
205
+ if (!this.instances.has(instanceId)) {
206
+ const instanceOpts = this.getInstanceOpts(definitionId);
207
+ const rpOpts = yield this.getRPOptions(context, { definitionId, responseRedirectURI: responseRedirectURI });
208
+ if (!((_b = rpOpts.identifierOpts.resolveOpts) === null || _b === void 0 ? void 0 : _b.resolver) || typeof rpOpts.identifierOpts.resolveOpts.resolver.resolve !== 'function') {
209
+ if (!((_c = rpOpts.identifierOpts) === null || _c === void 0 ? void 0 : _c.resolveOpts)) {
210
+ rpOpts.identifierOpts = Object.assign({}, rpOpts.identifierOpts);
211
+ rpOpts.identifierOpts.resolveOpts = Object.assign({}, rpOpts.identifierOpts.resolveOpts);
212
+ }
213
+ console.log('Using agent DID resolver for RP instance with definition id ' + definitionId);
214
+ rpOpts.identifierOpts.resolveOpts.resolver = (0, ssi_sdk_ext_did_utils_1.getAgentResolver)(context, {
215
+ uniresolverResolution: true,
216
+ localResolution: true,
217
+ resolverResolution: true,
218
+ });
219
+ }
220
+ this.instances.set(instanceId, new RPInstance_1.RPInstance({ rpOpts, pexOpts: instanceOpts }));
221
+ }
222
+ const rpInstance = this.instances.get(instanceId);
223
+ if (responseRedirectURI) {
224
+ rpInstance.rpOptions.responseRedirectUri = responseRedirectURI;
225
+ }
226
+ return rpInstance;
227
+ });
228
+ }
229
+ getRPOptions(context, opts) {
230
+ return __awaiter(this, void 0, void 0, function* () {
231
+ var _a, _b, _c, _d, _e, _f, _g;
232
+ const { definitionId, responseRedirectURI: responseRedirectURI } = opts;
233
+ const options = (_b = (_a = this.getInstanceOpts(definitionId)) === null || _a === void 0 ? void 0 : _a.rpOpts) !== null && _b !== void 0 ? _b : this.opts.defaultOpts;
234
+ if (!options) {
235
+ throw Error(`Could not get specific nor default options for definition ${definitionId}`);
236
+ }
237
+ if (this.opts.defaultOpts) {
238
+ if (!options.identifierOpts) {
239
+ options.identifierOpts = (_c = this.opts.defaultOpts) === null || _c === void 0 ? void 0 : _c.identifierOpts;
240
+ }
241
+ else {
242
+ if (!options.identifierOpts.idOpts) {
243
+ options.identifierOpts.idOpts = this.opts.defaultOpts.identifierOpts.idOpts;
244
+ }
245
+ if (!options.identifierOpts.supportedDIDMethods) {
246
+ options.identifierOpts.supportedDIDMethods = this.opts.defaultOpts.identifierOpts.supportedDIDMethods;
247
+ }
248
+ if (!options.supportedVersions) {
249
+ options.supportedVersions = this.opts.defaultOpts.supportedVersions;
250
+ }
251
+ }
252
+ if (!options.identifierOpts.resolveOpts || typeof ((_d = options.identifierOpts.resolveOpts.resolver) === null || _d === void 0 ? void 0 : _d.resolve) !== 'function') {
253
+ options.identifierOpts.resolveOpts = Object.assign(Object.assign({}, this.opts.defaultOpts.identifierOpts.resolveOpts), { resolver: (_g = (_f = (_e = this.opts.defaultOpts.identifierOpts) === null || _e === void 0 ? void 0 : _e.resolveOpts) === null || _f === void 0 ? void 0 : _f.resolver) !== null && _g !== void 0 ? _g : (0, ssi_sdk_ext_did_utils_1.getAgentResolver)(context, { localResolution: true, resolverResolution: true, uniresolverResolution: true }) });
254
+ }
255
+ }
256
+ if (responseRedirectURI !== undefined && responseRedirectURI !== options.responseRedirectUri) {
257
+ options.responseRedirectUri = responseRedirectURI;
258
+ }
259
+ return options;
260
+ });
261
+ }
262
+ getInstanceOpts(definitionId) {
263
+ if (!this.opts.instanceOpts)
264
+ return undefined;
265
+ const instanceOpt = definitionId ? this.opts.instanceOpts.find((i) => i.definitionId === definitionId) : undefined;
266
+ return instanceOpt !== null && instanceOpt !== void 0 ? instanceOpt : this.getDefaultOptions(definitionId);
267
+ }
268
+ getDefaultOptions(definitionId) {
269
+ if (!this.opts.instanceOpts)
270
+ return undefined;
271
+ const defaultOptions = this.opts.instanceOpts.find((i) => i.definitionId === 'default');
272
+ if (defaultOptions) {
273
+ const clonedOptions = Object.assign({}, defaultOptions);
274
+ if (definitionId !== undefined) {
275
+ clonedOptions.definitionId = definitionId;
276
+ }
277
+ return clonedOptions;
278
+ }
279
+ return undefined;
280
+ }
281
+ }
282
+ exports.SIOPv2RP = SIOPv2RP;
283
+ SIOPv2RP._DEFAULT_OPTS_KEY = '_default';
284
+ //# sourceMappingURL=SIOPv2RP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SIOPv2RP.js","sourceRoot":"","sources":["../../src/agent/SIOPv2RP.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2DAOgC;AAChC,2EAAkE;AAClE,mDAa4B;AAE5B,oCAkBiB;AACjB,8CAA0C;AAG1C,yDAAmE;AAGnE,MAAa,QAAQ;IAkBnB,YAAY,IAAmB;QAfd,cAAS,GAA4B,IAAI,GAAG,EAAE,CAAA;QACtD,WAAM,GAAG,cAAM,CAAC,2BAA2B,CAAA;QAE3C,YAAO,GAAc;YAC5B,wBAAwB,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC;YACvE,6BAA6B,EAAE,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC;YACjF,uBAAuB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5D,wBAAwB,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9D,0BAA0B,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClE,mBAAmB,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YACpD,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9D,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5D,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;SACvD,CAAA;QAqHO,6BAAwB,GAAG,CACjC,mBAKsB,EACY,EAAE,CACpC,4BAAgB,CAAC,wBAAwB,CAAC,mBAAmB,CAAC;YAC5D,CAAC,CAAC,mBAAmB,CAAC,cAAc;YACpC,CAAC,CAAC,4BAAgB,CAAC,qBAAqB,CAAC,mBAAqD,CAAC,CAAA;QA5HjG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAEM,cAAc,CAAC,aAA6B,EAAE,OAAyB;;QAC5E,gNAAgN;QAChN,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAA;QACrC,sJAAsJ;QACtJ,IACE,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,0CAAE,QAAQ,CAAA;YAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,KAAK,UAAU,EACvF,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,mCAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,KACnD,QAAQ,EAAE,IAAA,wCAAgB,EAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,GACtH,CAAA;QACH,CAAC;IACH,CAAC;IAEa,6BAA6B,CAAC,UAAkC,EAAE,OAAyB;;YACvG,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,mBAAmB,EAAE,UAAU,CAAC,mBAAmB,EAAE,EAAE,OAAO,CAAC;iBACrI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,6BAA6B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;iBACnE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAClC,CAAC;KAAA;IAEa,kCAAkC,CAC9C,UAAkC,EAClC,OAAyB;;YAEzB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC;iBAChF,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,0BAA0B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;iBAChE,IAAI,CAAC,CAAO,OAAO,EAAE,EAAE;;gBACtB,MAAM,WAAW,GAAkC;oBACjD,oBAAoB,EAAE,OAAO,CAAC,OAAO;oBACrC,aAAa,EAAE,MAAM,OAAO,CAAC,gBAAgB,EAAE;oBAC/C,oBAAoB,EAAE,MAAM,CAAA,MAAA,OAAO,CAAC,aAAa,0CAAE,UAAU,EAAE,CAAA;iBAChE,CAAA;gBACD,OAAO,WAAW,CAAA;YACpB,CAAC,CAAA,CAAC,CAAA;QACN,CAAC;KAAA;IAEa,mBAAmB,CAAC,IAA8B,EAAE,OAAyB;;YACzF,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACxF,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,8BAA8B,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CACzH,CAAA;QACH,CAAC;KAAA;IAEa,oBAAoB,CAChC,IAA+B,EAC/B,OAAyB;;;YAEzB,MAAM,UAAU,GAAe,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAA;YACrG,MAAM,0BAA0B,GAA2C,MAAM,UAAU;iBACxF,GAAG,CAAC,OAAO,CAAC;iBACZ,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,+BAA+B,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;YAC5G,IAAI,0BAA0B,KAAK,SAAS,EAAE,CAAC;gBAC7C,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,MAAM,aAAa,GAAG,0BAAwE,CAAA;YAC9F,IACE,aAAa,CAAC,MAAM,KAAK,gDAAgC,CAAC,QAAQ;gBAClE,IAAI,CAAC,mBAAmB;gBACxB,IAAI,CAAC,mBAAmB,KAAK,wBAAgB,CAAC,IAAI,EAClD,CAAC;gBACD,IAAI,MAA8B,CAAA;gBAClC,IACE,4BAAgB,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,QAA0C,CAAC;oBAC1G,CAAC,CAAC,CAAA,MAAA,UAAU,CAAC,SAAS,CAAC,cAAc,0CAAE,MAAM,CAAA,IAAI,OAAO,CAAA,MAAA,UAAU,CAAC,SAAS,CAAC,cAAc,0CAAE,MAAM,CAAA,KAAK,UAAU,CAAC,EACnH,CAAC;oBACD,MAAM,GAAG,wBAAa,CAAA;gBACxB,CAAC;gBACD,yCAAyC;gBACzC,MAAM,mBAAmB,GAAG,4BAAgB,CAAC,4BAA4B,CACvE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,QAA0C;gBACzE,wEAAwE;gBACxE,MAAM,CACP,CAAA;gBACD,QAAQ,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACjC,KAAK,wBAAgB,CAAC,qBAAqB;wBACzC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,CAAA;wBAChG,MAAK;oBACP,KAAK,wBAAgB,CAAC,4BAA4B,EAAE,gCAAgC;wBAClF,MAAM,SAAS,GAAqB,EAAE,CAAA;wBACtC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,IAAI,EAAE,EAAE,CAAC;4BACvG,MAAM,EAAE,GAAG,UAAmC,CAAA;4BAC9C,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;gCAChE,UAAU;gCACV,MAAM;gCACN,gBAAgB,EAAE,MAAA,UAAU,CAAC,SAAS,CAAC,oBAAoB,0CAAE,gBAAgB;6BAC9E,CAAC,CAAA;4BACF,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;gCACnC,aAAa,CAAC,MAAM,GAAG,gDAAgC,CAAC,KAAK,CAAA;gCAC7D,aAAa,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAA;gCAC7D,OAAO,aAAa,CAAA;4BACtB,CAAC;4BAED,MAAM,iBAAiB,GAAG,EAAE,CAAC,iBAA0D,CAAA;4BACvF,IAAI,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC;gCACzB,SAAS,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,EAAE,CAAA;4BACxC,CAAC;4BAED,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gCACzD,IAAI,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC;oCACxB,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gCACxB,CAAC;4BACH,CAAC,CAAC,CAAA;wBACJ,CAAC;wBACD,aAAa,CAAC,YAAY,GAAG,SAAS,CAAA;wBACtC,MAAK;gBACT,CAAC;YACH,CAAC;YACD,OAAO,aAAa,CAAA;QACtB,CAAC;KAAA;IAca,sBAAsB,CAAC,IAA6B,EAAE,OAAyB;;YAC3F,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,KAAK,CAAC,+DAA+D,CAAC,CAAA;YAC9E,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC;gBAC3E,4FAA4F;iBAC3F,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACX,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAO,EAAE,EAAE,EAAE;gBAChC,MAAM,EAAE,CAAC,0BAA0B,CAAC;oBAClC,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;iBACtD,CAAC,CAAA;gBACF,OAAO,CAAC,MAAM,EAAE,CAAC,cAAc,CAAC,8BAA8B,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAA8B,CAAA;YACxH,CAAC,CAAA,CAAC,CACH,CAAA;QACL,CAAC;KAAA;IAEa,eAAe,CAAC,IAA+B,EAAE,OAAyB;;YACtF,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC;iBAC1E,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,2BAA2B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;iBAC7G,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;KAAA;IAEa,sBAAsB,CAAC,IAAkC,EAAE,OAAyB;;YAChG,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC,2CAA2C,CAAC,CAAA;YAC1D,CAAC;YACD,MAAM,YAAY,GAChB,OAAO,IAAI,CAAC,qBAAqB,KAAK,QAAQ;gBAC5C,CAAC,CAAE,IAAA,+BAAe,EAAC,IAAI,CAAC,qBAAqB,CAAkC;gBAC/E,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAA;YAChC,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACxF,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAC1B,EAAE,CAAC,2BAA2B,CAAC,YAAY,8CACzC,aAAa,EAAE,IAAI,CAAC,aAAa,IAC9B,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAClH,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACrE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IACvB,CACH,CACF,CAAA;QACH,CAAC;KAAA;IAEa,qBAAqB,CAAC,IAA2B,EAAE,OAAyB;;YACxF,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAA;YACnE,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,CAAO,cAAc,EAAE,EAAE;gBACvC,MAAM,iBAAiB,GAAG,cAAc,CAAC,iBAAiB,CAAA;gBAC1D,MAAM,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAA;gBAE5E,OAAO,CAAC,GAAG,CAAC,yBAAyB,iBAAiB,CAAC,EAAE,MAAM,iBAAiB,CAAC,IAAI,4BAA4B,kBAAkB,EAAE,CAAC,CAAA;gBACtI,OAAO,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC;oBACxC,cAAc,EAAE;wBACd,QAAQ,EAAE,QAAQ;wBAClB,OAAO,EAAE,OAAO;wBAChB,iBAAiB;wBACjB,WAAW,EAAE,cAAc,CAAC,WAAW;qBACxC;oBACD,IAAI,EAAE,EAAE,kBAAkB,EAAE,kBAAkB,EAAE;iBACjD,CAAC,CAAA;YACJ,CAAC,CAAA,CAAC,CACH,CAAA;QACH,CAAC;KAAA;IAEa,kBAAkB,CAAC,IAAyB,EAAE,OAAyB;;;YACnF,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,YAAY,mCAAI,QAAQ,CAAC,iBAAiB,CAAA;YAClE,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBACjD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;oBACxC,OAAO,EAAE,CAAC,sBAAsB,iBAC9B,cAAc,EAAE,IAAI,CAAC,aAAa,EAClC,aAAa,EAAE,IAAI,CAAC,aAAa,IAC9B,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EACxC,CAAA;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;KAAA;IAEK,aAAa;6DAAC,EAAE,YAAY,EAAE,mBAAmB,EAAuB,EAAE,OAAyB;;YACvG,MAAM,UAAU,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,QAAQ,CAAC,iBAAiB,CAAA;YAC7D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;gBACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,CAAA;gBAC3G,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,cAAc,CAAC,WAAW,0CAAE,QAAQ,CAAA,IAAI,OAAO,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC7H,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,cAAc,0CAAE,WAAW,CAAA,EAAE,CAAC;wBACxC,MAAM,CAAC,cAAc,qBAAQ,MAAM,CAAC,cAAc,CAAE,CAAA;wBACpD,MAAM,CAAC,cAAc,CAAC,WAAW,qBAAQ,MAAM,CAAC,cAAc,CAAC,WAAW,CAAE,CAAA;oBAC9E,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,8DAA8D,GAAG,YAAY,CAAC,CAAA;oBAC1F,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAA,wCAAgB,EAAC,OAAO,EAAE;wBACrE,qBAAqB,EAAE,IAAI;wBAC3B,eAAe,EAAE,IAAI;wBACrB,kBAAkB,EAAE,IAAI;qBACzB,CAAC,CAAA;gBACJ,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,uBAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAA;YACnF,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAE,CAAA;YAClD,IAAI,mBAAmB,EAAE,CAAC;gBACxB,UAAU,CAAC,SAAS,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;YAChE,CAAC;YACD,OAAO,UAAU,CAAA;QACnB,CAAC;KAAA;IAEK,YAAY,CAAC,OAAyB,EAAE,IAA6D;;;YACzG,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAA;YACvE,MAAM,OAAO,GAAG,MAAA,MAAA,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,0CAAE,MAAM,mCAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAA;YACnF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,KAAK,CAAC,6DAA6D,YAAY,EAAE,CAAC,CAAA;YAC1F,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC5B,OAAO,CAAC,cAAc,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,WAAW,0CAAE,cAAc,CAAA;gBAChE,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;wBACnC,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAA;oBAC7E,CAAC;oBACD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;wBAChD,OAAO,CAAC,cAAc,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,mBAAmB,CAAA;oBACvG,CAAC;oBACD,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;wBAC/B,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAA;oBACrE,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,IAAI,OAAO,CAAA,MAAA,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,0CAAE,OAAO,CAAA,KAAK,UAAU,EAAE,CAAC;oBACtH,OAAO,CAAC,cAAc,CAAC,WAAW,mCAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,KACnD,QAAQ,EACN,MAAA,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,0CAAE,WAAW,0CAAE,QAAQ,mCAC3D,IAAA,wCAAgB,EAAC,OAAO,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,GAC9G,CAAA;gBACH,CAAC;YACH,CAAC;YACD,IAAI,mBAAmB,KAAK,SAAS,IAAI,mBAAmB,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBAC7F,OAAO,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;YACnD,CAAC;YACD,OAAO,OAAO,CAAA;QAChB,CAAC;KAAA;IAED,eAAe,CAAC,YAAqB;QACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,SAAS,CAAA;QAE7C,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAElH,OAAO,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAC5D,CAAC;IAEO,iBAAiB,CAAC,YAAgC;QACxD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,SAAS,CAAA;QAE7C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAA;QACvF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,aAAa,qBAAQ,cAAc,CAAE,CAAA;YAC3C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,aAAa,CAAC,YAAY,GAAG,YAAY,CAAA;YAC3C,CAAC;YACD,OAAO,aAAa,CAAA;QACtB,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;;AAnTH,4BAoTC;AAlTyB,0BAAiB,GAAG,UAAU,AAAb,CAAa"}
@@ -0,0 +1,26 @@
1
+ import { PresentationVerificationCallback, RP, RPBuilder, SupportedVersion } from '@sphereon/did-auth-siop';
2
+ import { JwtHeader, JwtIssuer, JwtPayload, SigningAlgo } from '@sphereon/oid4vc-common';
3
+ import { IPresentationDefinition } from '@sphereon/pex';
4
+ import { ManagedIdentifierOptsOrResult } from '@sphereon/ssi-sdk-ext.identifier-resolution';
5
+ import { TKeyType } from '@veramo/core';
6
+ import { IPEXOptions, IRequiredContext, IRPOptions } from './types/ISIOPv2RP';
7
+ import { DcqlQuery } from 'dcql';
8
+ export declare function getRequestVersion(rpOptions: IRPOptions): SupportedVersion;
9
+ export declare function getPresentationVerificationCallback(idOpts: ManagedIdentifierOptsOrResult, context: IRequiredContext): PresentationVerificationCallback;
10
+ export declare function createRPBuilder(args: {
11
+ rpOpts: IRPOptions;
12
+ pexOpts?: IPEXOptions | undefined;
13
+ definition?: IPresentationDefinition;
14
+ dcql?: DcqlQuery;
15
+ context: IRequiredContext;
16
+ }): Promise<RPBuilder>;
17
+ export declare function signCallback(idOpts: ManagedIdentifierOptsOrResult, context: IRequiredContext): (jwtIssuer: JwtIssuer, jwt: {
18
+ header: JwtHeader;
19
+ payload: JwtPayload;
20
+ }, kid?: string) => Promise<string>;
21
+ export declare function createRP({ rpOptions, context }: {
22
+ rpOptions: IRPOptions;
23
+ context: IRequiredContext;
24
+ }): Promise<RP>;
25
+ export declare function getSigningAlgo(type: TKeyType): SigningAlgo;
26
+ //# sourceMappingURL=functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,gCAAgC,EAMhC,EAAE,EACF,SAAS,EAGT,gBAAgB,EAEjB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAqB,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1G,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,EAKL,6BAA6B,EAC9B,MAAM,6CAA6C,CAAA;AAMpD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAIvC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAA0B,MAAM,mBAAmB,CAAA;AACrG,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAGhC,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,UAAU,GAAG,gBAAgB,CAKzE;AAcD,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,6BAA6B,EACrC,OAAO,EAAE,gBAAgB,GACxB,gCAAgC,CAsClC;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,MAAM,EAAE,UAAU,CAAA;IAClB,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IACjC,UAAU,CAAC,EAAE,uBAAuB,CAAA;IACpC,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,gBAAgB,CAAA;CAC1B,GAAG,OAAO,CAAC,SAAS,CAAC,CA+IrB;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,6BAA6B,EACrC,OAAO,EAAE,gBAAgB,GACxB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAgB1G;AAmBD,wBAAsB,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;IAAE,SAAS,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAExH;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,CAc1D"}