@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth 0.33.0 → 0.33.1-feature.vcdm2.4

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.
@@ -1,276 +1,254 @@
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 {
1
+ import { AuthorizationResponseStateStatus, decodeUriAsJson, } from '@sphereon/did-auth-siop';
2
+ import { getAgentResolver } from '@sphereon/ssi-sdk-ext.did-utils';
3
+ import { CredentialMapper, } from '@sphereon/ssi-types';
4
+ import { schema, VerifiedDataMode, } from '../index';
5
+ import { RPInstance } from '../RPInstance';
6
+ import { shaHasher as defaultHasher } from '@sphereon/ssi-sdk.core';
7
+ export class SIOPv2RP {
8
+ opts;
9
+ static _DEFAULT_OPTS_KEY = '_default';
10
+ instances = new Map();
11
+ schema = schema.IDidAuthSiopOpAuthenticator;
12
+ methods = {
13
+ siopCreateAuthRequestURI: this.createAuthorizationRequestURI.bind(this),
14
+ siopCreateAuthRequestPayloads: this.createAuthorizationRequestPayloads.bind(this),
15
+ siopGetAuthRequestState: this.siopGetRequestState.bind(this),
16
+ siopGetAuthResponseState: this.siopGetResponseState.bind(this),
17
+ siopUpdateAuthRequestState: this.siopUpdateRequestState.bind(this),
18
+ siopDeleteAuthState: this.siopDeleteState.bind(this),
19
+ siopVerifyAuthResponse: this.siopVerifyAuthResponse.bind(this),
20
+ siopImportDefinitions: this.siopImportDefinitions.bind(this),
21
+ siopGetRedirectURI: this.siopGetRedirectURI.bind(this),
22
+ };
20
23
  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
24
  this.opts = opts;
38
25
  }
39
26
  setDefaultOpts(rpDefaultOpts, context) {
40
- var _a;
41
27
  // 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
28
  this.opts.defaultOpts = rpDefaultOpts;
43
29
  // 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) ||
30
+ if (!this.opts.defaultOpts.identifierOpts.resolveOpts?.resolver ||
45
31
  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 }) });
32
+ this.opts.defaultOpts.identifierOpts.resolveOpts = {
33
+ ...this.opts.defaultOpts.identifierOpts.resolveOpts,
34
+ resolver: getAgentResolver(context, { uniresolverResolution: true, resolverResolution: true, localResolution: true }),
35
+ };
47
36
  }
48
37
  }
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
- });
38
+ async createAuthorizationRequestURI(createArgs, context) {
39
+ return await this.getRPInstance({ definitionId: createArgs.definitionId, responseRedirectURI: createArgs.responseRedirectURI }, context)
40
+ .then((rp) => rp.createAuthorizationRequestURI(createArgs, context))
41
+ .then((URI) => URI.encodedUri);
55
42
  }
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
- }));
43
+ async createAuthorizationRequestPayloads(createArgs, context) {
44
+ return await this.getRPInstance({ definitionId: createArgs.definitionId }, context)
45
+ .then((rp) => rp.createAuthorizationRequest(createArgs, context))
46
+ .then(async (request) => {
47
+ const authRequest = {
48
+ authorizationRequest: request.payload,
49
+ requestObject: await request.requestObjectJwt(),
50
+ requestObjectDecoded: await request.requestObject?.getPayload(),
51
+ };
52
+ return authRequest;
69
53
  });
70
54
  }
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
- });
55
+ async siopGetRequestState(args, context) {
56
+ return await this.getRPInstance({ definitionId: args.definitionId }, context).then((rp) => rp.get(context).then((rp) => rp.sessionManager.getRequestStateByCorrelationId(args.correlationId, args.errorOnNotFound)));
75
57
  }
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;
58
+ async siopGetResponseState(args, context) {
59
+ const rpInstance = await this.getRPInstance({ definitionId: args.definitionId }, context);
60
+ const authorizationResponseState = await rpInstance
61
+ .get(context)
62
+ .then((rp) => rp.sessionManager.getResponseStateByCorrelationId(args.correlationId, args.errorOnNotFound));
63
+ if (authorizationResponseState === undefined) {
64
+ return undefined;
65
+ }
66
+ const responseState = authorizationResponseState;
67
+ if (responseState.status === AuthorizationResponseStateStatus.VERIFIED &&
68
+ args.includeVerifiedData &&
69
+ args.includeVerifiedData !== VerifiedDataMode.NONE) {
70
+ let hasher;
71
+ if (CredentialMapper.isSdJwtEncoded(responseState.response.payload.vp_token) &&
72
+ (!rpInstance.rpOptions.credentialOpts?.hasher || typeof rpInstance.rpOptions.credentialOpts?.hasher !== 'function')) {
73
+ hasher = defaultHasher;
85
74
  }
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
- });
75
+ // todo this should also include mdl-mdoc
76
+ const presentationDecoded = CredentialMapper.decodeVerifiablePresentation(responseState.response.payload.vp_token,
77
+ //todo: later we want to conditionally pass in options for mdl-mdoc here
78
+ hasher);
79
+ switch (args.includeVerifiedData) {
80
+ case VerifiedDataMode.VERIFIED_PRESENTATION:
81
+ responseState.response.payload.verifiedData = this.presentationOrClaimsFrom(presentationDecoded);
82
+ break;
83
+ case VerifiedDataMode.CREDENTIAL_SUBJECT_FLATTENED: // TODO debug cs-flat for SD-JWT
84
+ const allClaims = {};
85
+ for (const credential of this.presentationOrClaimsFrom(presentationDecoded).verifiableCredential || []) {
86
+ const vc = credential;
87
+ const schemaValidationResult = await context.agent.cvVerifySchema({
88
+ credential,
89
+ hasher,
90
+ validationPolicy: rpInstance.rpOptions.verificationPolicies?.schemaValidation,
91
+ });
92
+ if (!schemaValidationResult.result) {
93
+ responseState.status = AuthorizationResponseStateStatus.ERROR;
94
+ responseState.error = new Error(schemaValidationResult.error);
95
+ return responseState;
126
96
  }
127
- responseState.verifiedData = allClaims;
128
- break;
129
- }
97
+ const credentialSubject = vc.credentialSubject;
98
+ if (!('id' in allClaims)) {
99
+ allClaims['id'] = credentialSubject.id;
100
+ }
101
+ Object.entries(credentialSubject).forEach(([key, value]) => {
102
+ if (!(key in allClaims)) {
103
+ allClaims[key] = value;
104
+ }
105
+ });
106
+ }
107
+ responseState.verifiedData = allClaims;
108
+ break;
130
109
  }
131
- return responseState;
132
- });
110
+ }
111
+ return responseState;
133
112
  }
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
- });
113
+ presentationOrClaimsFrom = (presentationDecoded) => CredentialMapper.isSdJwtDecodedCredential(presentationDecoded)
114
+ ? presentationDecoded.decodedPayload
115
+ : CredentialMapper.toUniformPresentation(presentationDecoded);
116
+ async siopUpdateRequestState(args, context) {
117
+ if (args.state !== 'sent') {
118
+ throw Error(`Only 'sent' status is supported for this method at this point`);
119
+ }
120
+ return await this.getRPInstance({ definitionId: args.definitionId }, context)
121
+ // todo: In the SIOP library we need to update the signal method to be more like this method
122
+ .then((rp) => rp.get(context).then(async (rp) => {
123
+ await rp.signalAuthRequestRetrieved({
124
+ correlationId: args.correlationId,
125
+ error: args.error ? new Error(args.error) : undefined,
126
+ });
127
+ return (await rp.sessionManager.getRequestStateByCorrelationId(args.correlationId, true));
128
+ }));
149
129
  }
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
- });
130
+ async siopDeleteState(args, context) {
131
+ return await this.getRPInstance({ definitionId: args.definitionId }, context)
132
+ .then((rp) => rp.get(context).then((rp) => rp.sessionManager.deleteStateForCorrelationId(args.correlationId)))
133
+ .then(() => true);
156
134
  }
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
- });
135
+ async siopVerifyAuthResponse(args, context) {
136
+ if (!args.authorizationResponse) {
137
+ throw Error('No SIOPv2 Authorization Response received');
138
+ }
139
+ const authResponse = typeof args.authorizationResponse === 'string'
140
+ ? decodeUriAsJson(args.authorizationResponse)
141
+ : args.authorizationResponse;
142
+ return await this.getRPInstance({ definitionId: args.definitionId }, context).then((rp) => rp.get(context).then((rp) => rp.verifyAuthorizationResponse(authResponse, {
143
+ correlationId: args.correlationId,
144
+ ...(args.presentationDefinitions && !args.dcqlQuery ? { presentationDefinitions: args.presentationDefinitions } : {}),
145
+ ...(args.dcqlQuery ? { dcqlQuery: args.dcqlQuery } : {}), // TODO BEFORE PR, check compatibility and whether we can remove local type
146
+ audience: args.audience,
147
+ })));
167
148
  }
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
- });
149
+ async siopImportDefinitions(args, context) {
150
+ const { definitions, tenantId, version, versionControlMode } = args;
151
+ await Promise.all(definitions.map(async (definitionPair) => {
152
+ const definitionPayload = definitionPair.definitionPayload;
153
+ await context.agent.pexValidateDefinition({ definition: definitionPayload });
154
+ console.log(`persisting definition ${definitionPayload.id} / ${definitionPayload.name} with versionControlMode ${versionControlMode}`);
155
+ return context.agent.pdmPersistDefinition({
156
+ definitionItem: {
157
+ tenantId: tenantId,
158
+ version: version,
159
+ definitionPayload,
160
+ dcqlPayload: definitionPair.dcqlPayload,
161
+ },
162
+ opts: { versionControlMode: versionControlMode },
163
+ });
164
+ }));
186
165
  }
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
- }
166
+ async siopGetRedirectURI(args, context) {
167
+ const instanceId = args.definitionId ?? SIOPv2RP._DEFAULT_OPTS_KEY;
168
+ if (this.instances.has(instanceId)) {
169
+ const rpInstance = this.instances.get(instanceId);
170
+ if (rpInstance !== undefined) {
171
+ const rp = await rpInstance.get(context);
172
+ return rp.getResponseRedirectUri({
173
+ correlation_id: args.correlationId,
174
+ correlationId: args.correlationId,
175
+ ...(args.state && { state: args.state }),
176
+ });
197
177
  }
198
- return undefined;
199
- });
178
+ }
179
+ return undefined;
200
180
  }
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
- });
181
+ async getRPInstance({ definitionId, responseRedirectURI }, context) {
182
+ const instanceId = definitionId ?? SIOPv2RP._DEFAULT_OPTS_KEY;
183
+ if (!this.instances.has(instanceId)) {
184
+ const instanceOpts = this.getInstanceOpts(definitionId);
185
+ const rpOpts = await this.getRPOptions(context, { definitionId, responseRedirectURI: responseRedirectURI });
186
+ if (!rpOpts.identifierOpts.resolveOpts?.resolver || typeof rpOpts.identifierOpts.resolveOpts.resolver.resolve !== 'function') {
187
+ if (!rpOpts.identifierOpts?.resolveOpts) {
188
+ rpOpts.identifierOpts = { ...rpOpts.identifierOpts };
189
+ rpOpts.identifierOpts.resolveOpts = { ...rpOpts.identifierOpts.resolveOpts };
219
190
  }
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;
191
+ console.log('Using agent DID resolver for RP instance with definition id ' + definitionId);
192
+ rpOpts.identifierOpts.resolveOpts.resolver = getAgentResolver(context, {
193
+ uniresolverResolution: true,
194
+ localResolution: true,
195
+ resolverResolution: true,
196
+ });
225
197
  }
226
- return rpInstance;
227
- });
198
+ this.instances.set(instanceId, new RPInstance({ rpOpts, pexOpts: instanceOpts }));
199
+ }
200
+ const rpInstance = this.instances.get(instanceId);
201
+ if (responseRedirectURI) {
202
+ rpInstance.rpOptions.responseRedirectUri = responseRedirectURI;
203
+ }
204
+ return rpInstance;
228
205
  }
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}`);
206
+ async getRPOptions(context, opts) {
207
+ const { definitionId, responseRedirectURI: responseRedirectURI } = opts;
208
+ const options = this.getInstanceOpts(definitionId)?.rpOpts ?? this.opts.defaultOpts;
209
+ if (!options) {
210
+ throw Error(`Could not get specific nor default options for definition ${definitionId}`);
211
+ }
212
+ if (this.opts.defaultOpts) {
213
+ if (!options.identifierOpts) {
214
+ options.identifierOpts = this.opts.defaultOpts?.identifierOpts;
236
215
  }
237
- if (this.opts.defaultOpts) {
238
- if (!options.identifierOpts) {
239
- options.identifierOpts = (_c = this.opts.defaultOpts) === null || _c === void 0 ? void 0 : _c.identifierOpts;
216
+ else {
217
+ if (!options.identifierOpts.idOpts) {
218
+ options.identifierOpts.idOpts = this.opts.defaultOpts.identifierOpts.idOpts;
240
219
  }
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
- }
220
+ if (!options.identifierOpts.supportedDIDMethods) {
221
+ options.identifierOpts.supportedDIDMethods = this.opts.defaultOpts.identifierOpts.supportedDIDMethods;
251
222
  }
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 }) });
223
+ if (!options.supportedVersions) {
224
+ options.supportedVersions = this.opts.defaultOpts.supportedVersions;
254
225
  }
255
226
  }
256
- if (responseRedirectURI !== undefined && responseRedirectURI !== options.responseRedirectUri) {
257
- options.responseRedirectUri = responseRedirectURI;
227
+ if (!options.identifierOpts.resolveOpts || typeof options.identifierOpts.resolveOpts.resolver?.resolve !== 'function') {
228
+ options.identifierOpts.resolveOpts = {
229
+ ...this.opts.defaultOpts.identifierOpts.resolveOpts,
230
+ resolver: this.opts.defaultOpts.identifierOpts?.resolveOpts?.resolver ??
231
+ getAgentResolver(context, { localResolution: true, resolverResolution: true, uniresolverResolution: true }),
232
+ };
258
233
  }
259
- return options;
260
- });
234
+ }
235
+ if (responseRedirectURI !== undefined && responseRedirectURI !== options.responseRedirectUri) {
236
+ options.responseRedirectUri = responseRedirectURI;
237
+ }
238
+ return options;
261
239
  }
262
240
  getInstanceOpts(definitionId) {
263
241
  if (!this.opts.instanceOpts)
264
242
  return undefined;
265
243
  const instanceOpt = definitionId ? this.opts.instanceOpts.find((i) => i.definitionId === definitionId) : undefined;
266
- return instanceOpt !== null && instanceOpt !== void 0 ? instanceOpt : this.getDefaultOptions(definitionId);
244
+ return instanceOpt ?? this.getDefaultOptions(definitionId);
267
245
  }
268
246
  getDefaultOptions(definitionId) {
269
247
  if (!this.opts.instanceOpts)
270
248
  return undefined;
271
249
  const defaultOptions = this.opts.instanceOpts.find((i) => i.definitionId === 'default');
272
250
  if (defaultOptions) {
273
- const clonedOptions = Object.assign({}, defaultOptions);
251
+ const clonedOptions = { ...defaultOptions };
274
252
  if (definitionId !== undefined) {
275
253
  clonedOptions.definitionId = definitionId;
276
254
  }
@@ -279,6 +257,4 @@ class SIOPv2RP {
279
257
  return undefined;
280
258
  }
281
259
  }
282
- exports.SIOPv2RP = SIOPv2RP;
283
- SIOPv2RP._DEFAULT_OPTS_KEY = '_default';
284
260
  //# sourceMappingURL=SIOPv2RP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SIOPv2RP.js","sourceRoot":"","sources":["../../src/agent/SIOPv2RP.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SIOPv2RP.js","sourceRoot":"","sources":["../../src/agent/SIOPv2RP.ts"],"names":[],"mappings":"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"}