@nmshd/consumption 7.3.0-openid4vc.7 → 7.3.0
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.
- package/dist/buildInformation.js +5 -5
- package/dist/consumption/ConsumptionConfig.d.ts +0 -1
- package/dist/consumption/ConsumptionConfig.d.ts.map +1 -1
- package/dist/consumption/ConsumptionController.d.ts +1 -3
- package/dist/consumption/ConsumptionController.d.ts.map +1 -1
- package/dist/consumption/ConsumptionController.js +1 -7
- package/dist/consumption/ConsumptionController.js.map +1 -1
- package/dist/consumption/ConsumptionControllerName.d.ts +1 -2
- package/dist/consumption/ConsumptionControllerName.d.ts.map +1 -1
- package/dist/consumption/ConsumptionControllerName.js +0 -1
- package/dist/consumption/ConsumptionControllerName.js.map +1 -1
- package/dist/consumption/ConsumptionIds.d.ts +0 -1
- package/dist/consumption/ConsumptionIds.d.ts.map +1 -1
- package/dist/consumption/ConsumptionIds.js +0 -1
- package/dist/consumption/ConsumptionIds.js.map +1 -1
- package/dist/modules/index.d.ts +0 -1
- package/dist/modules/index.d.ts.map +1 -1
- package/dist/modules/index.js +0 -1
- package/dist/modules/index.js.map +1 -1
- package/dist/modules/requests/events/index.d.ts +0 -1
- package/dist/modules/requests/events/index.d.ts.map +1 -1
- package/dist/modules/requests/events/index.js +0 -1
- package/dist/modules/requests/events/index.js.map +1 -1
- package/dist/modules/requests/index.d.ts +0 -3
- package/dist/modules/requests/index.d.ts.map +1 -1
- package/dist/modules/requests/index.js +0 -3
- package/dist/modules/requests/index.js.map +1 -1
- package/dist/modules/requests/outgoing/OutgoingRequestsController.d.ts.map +1 -1
- package/dist/modules/requests/outgoing/OutgoingRequestsController.js +1 -3
- package/dist/modules/requests/outgoing/OutgoingRequestsController.js.map +1 -1
- package/package.json +16 -38
- package/dist/modules/openid4vc/OpenId4VcController.d.ts +0 -32
- package/dist/modules/openid4vc/OpenId4VcController.d.ts.map +0 -1
- package/dist/modules/openid4vc/OpenId4VcController.js +0 -97
- package/dist/modules/openid4vc/OpenId4VcController.js.map +0 -1
- package/dist/modules/openid4vc/index.d.ts +0 -8
- package/dist/modules/openid4vc/index.d.ts.map +0 -1
- package/dist/modules/openid4vc/index.js +0 -24
- package/dist/modules/openid4vc/index.js.map +0 -1
- package/dist/modules/openid4vc/local/BaseAgent.d.ts +0 -17
- package/dist/modules/openid4vc/local/BaseAgent.d.ts.map +0 -1
- package/dist/modules/openid4vc/local/BaseAgent.js +0 -72
- package/dist/modules/openid4vc/local/BaseAgent.js.map +0 -1
- package/dist/modules/openid4vc/local/EnmeshedHolderFileSystem.d.ts +0 -14
- package/dist/modules/openid4vc/local/EnmeshedHolderFileSystem.d.ts.map +0 -1
- package/dist/modules/openid4vc/local/EnmeshedHolderFileSystem.js +0 -29
- package/dist/modules/openid4vc/local/EnmeshedHolderFileSystem.js.map +0 -1
- package/dist/modules/openid4vc/local/EnmeshedHolderKeyManagmentService.d.ts +0 -33
- package/dist/modules/openid4vc/local/EnmeshedHolderKeyManagmentService.d.ts.map +0 -1
- package/dist/modules/openid4vc/local/EnmeshedHolderKeyManagmentService.js +0 -345
- package/dist/modules/openid4vc/local/EnmeshedHolderKeyManagmentService.js.map +0 -1
- package/dist/modules/openid4vc/local/EnmeshedStorageService.d.ts +0 -24
- package/dist/modules/openid4vc/local/EnmeshedStorageService.d.ts.map +0 -1
- package/dist/modules/openid4vc/local/EnmeshedStorageService.js +0 -138
- package/dist/modules/openid4vc/local/EnmeshedStorageService.js.map +0 -1
- package/dist/modules/openid4vc/local/Holder.d.ts +0 -39
- package/dist/modules/openid4vc/local/Holder.d.ts.map +0 -1
- package/dist/modules/openid4vc/local/Holder.js +0 -171
- package/dist/modules/openid4vc/local/Holder.js.map +0 -1
- package/dist/modules/openid4vc/local/KeyStorage.d.ts +0 -12
- package/dist/modules/openid4vc/local/KeyStorage.d.ts.map +0 -1
- package/dist/modules/openid4vc/local/KeyStorage.js +0 -67
- package/dist/modules/openid4vc/local/KeyStorage.js.map +0 -1
- package/dist/modules/openid4vc/local/OpenId4VciCredentialResponseJSON.d.ts +0 -7
- package/dist/modules/openid4vc/local/OpenId4VciCredentialResponseJSON.d.ts.map +0 -1
- package/dist/modules/openid4vc/local/OpenId4VciCredentialResponseJSON.js +0 -3
- package/dist/modules/openid4vc/local/OpenId4VciCredentialResponseJSON.js.map +0 -1
- package/dist/modules/openid4vc/local/RequestedCredentialCache.d.ts +0 -9
- package/dist/modules/openid4vc/local/RequestedCredentialCache.d.ts.map +0 -1
- package/dist/modules/openid4vc/local/RequestedCredentialCache.js +0 -57
- package/dist/modules/openid4vc/local/RequestedCredentialCache.js.map +0 -1
- package/dist/modules/requests/events/ShareCredentialOfferRequestItemProcessedByRecipientEvent.d.ts +0 -12
- package/dist/modules/requests/events/ShareCredentialOfferRequestItemProcessedByRecipientEvent.d.ts.map +0 -1
- package/dist/modules/requests/events/ShareCredentialOfferRequestItemProcessedByRecipientEvent.js +0 -12
- package/dist/modules/requests/events/ShareCredentialOfferRequestItemProcessedByRecipientEvent.js.map +0 -1
- package/dist/modules/requests/itemProcessors/shareAuthorizationRequest/AcceptShareAuthorizationRequestRequestItemParameters.d.ts +0 -11
- package/dist/modules/requests/itemProcessors/shareAuthorizationRequest/AcceptShareAuthorizationRequestRequestItemParameters.d.ts.map +0 -1
- package/dist/modules/requests/itemProcessors/shareAuthorizationRequest/AcceptShareAuthorizationRequestRequestItemParameters.js +0 -29
- package/dist/modules/requests/itemProcessors/shareAuthorizationRequest/AcceptShareAuthorizationRequestRequestItemParameters.js.map +0 -1
- package/dist/modules/requests/itemProcessors/shareAuthorizationRequest/ShareAuthorizationRequestRequestItemProcessor.d.ts +0 -12
- package/dist/modules/requests/itemProcessors/shareAuthorizationRequest/ShareAuthorizationRequestRequestItemProcessor.d.ts.map +0 -1
- package/dist/modules/requests/itemProcessors/shareAuthorizationRequest/ShareAuthorizationRequestRequestItemProcessor.js +0 -55
- package/dist/modules/requests/itemProcessors/shareAuthorizationRequest/ShareAuthorizationRequestRequestItemProcessor.js.map +0 -1
- package/dist/modules/requests/itemProcessors/shareCredentialOffer/ShareCredentialOfferRequestItemProcessor.d.ts +0 -14
- package/dist/modules/requests/itemProcessors/shareCredentialOffer/ShareCredentialOfferRequestItemProcessor.d.ts.map +0 -1
- package/dist/modules/requests/itemProcessors/shareCredentialOffer/ShareCredentialOfferRequestItemProcessor.js +0 -45
- package/dist/modules/requests/itemProcessors/shareCredentialOffer/ShareCredentialOfferRequestItemProcessor.js.map +0 -1
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.EnmeshedStorageService = void 0;
|
|
13
|
-
exports.decodeRecord = decodeRecord;
|
|
14
|
-
const core_1 = require("@credo-ts/core");
|
|
15
|
-
const content_1 = require("@nmshd/content");
|
|
16
|
-
const transport_1 = require("@nmshd/transport");
|
|
17
|
-
const AttributesController_1 = require("../../attributes/AttributesController");
|
|
18
|
-
const KeyStorage_1 = require("./KeyStorage");
|
|
19
|
-
let EnmeshedStorageService = class EnmeshedStorageService {
|
|
20
|
-
constructor(accountController, attributeController, keyStorage) {
|
|
21
|
-
this.accountController = accountController;
|
|
22
|
-
this.attributeController = attributeController;
|
|
23
|
-
this.keyStorage = keyStorage;
|
|
24
|
-
this.storage = new Map();
|
|
25
|
-
}
|
|
26
|
-
save(_agentContext, record) {
|
|
27
|
-
if (record.id !== "STORAGE_VERSION_RECORD_ID" && record.type !== "DidRecord") {
|
|
28
|
-
throw new Error("Only storage of STORAGE_VERSION_RECORD_ID and DidRecord implemented because others previously not needed");
|
|
29
|
-
}
|
|
30
|
-
this.storage.set(record.id, record);
|
|
31
|
-
return Promise.resolve();
|
|
32
|
-
}
|
|
33
|
-
async saveWithDisplay(agentContext, value, type, displayInformation) {
|
|
34
|
-
const owner = this.accountController.identity.address;
|
|
35
|
-
const identityAttribute = content_1.IdentityAttribute.from({
|
|
36
|
-
value: {
|
|
37
|
-
"@type": "VerifiableCredential",
|
|
38
|
-
value: value,
|
|
39
|
-
type: type,
|
|
40
|
-
displayInformation: displayInformation
|
|
41
|
-
},
|
|
42
|
-
owner: owner
|
|
43
|
-
});
|
|
44
|
-
const result = await this.attributeController.createOwnIdentityAttribute({
|
|
45
|
-
content: identityAttribute
|
|
46
|
-
});
|
|
47
|
-
agentContext.config.logger.debug(`Saved record: ${JSON.stringify(result)}`);
|
|
48
|
-
return await Promise.resolve(result);
|
|
49
|
-
}
|
|
50
|
-
update(_agentContext, _record) {
|
|
51
|
-
throw new Error("Storage update not implemented because previously not needed");
|
|
52
|
-
}
|
|
53
|
-
delete(_agentContext, _record) {
|
|
54
|
-
throw new Error("Storage delete not implemented because previously not needed");
|
|
55
|
-
}
|
|
56
|
-
deleteById(_agentContext, _recordClass, _id) {
|
|
57
|
-
throw new Error("Storage delete not implemented because previously not needed");
|
|
58
|
-
}
|
|
59
|
-
getById(_agentContext, _recordClass, id) {
|
|
60
|
-
const record = this.storage.get(id);
|
|
61
|
-
if (!record)
|
|
62
|
-
throw new Error(`Record with id ${id} not found`);
|
|
63
|
-
return Promise.resolve(record);
|
|
64
|
-
}
|
|
65
|
-
async getAll(_agentContext, recordClass) {
|
|
66
|
-
// so far only encountered in the credential context
|
|
67
|
-
const recordType = recordClass.type;
|
|
68
|
-
const correspondingCredentialType = this.recordTypeToCredentialType(recordType);
|
|
69
|
-
const attributes = await this.attributeController.getLocalAttributes({
|
|
70
|
-
"@type": "OwnIdentityAttribute",
|
|
71
|
-
"content.value.@type": "VerifiableCredential",
|
|
72
|
-
"content.value.type": correspondingCredentialType
|
|
73
|
-
});
|
|
74
|
-
return attributes.map((attribute) => {
|
|
75
|
-
const attributeValue = attribute.content.value;
|
|
76
|
-
return decodeRecord(correspondingCredentialType, attributeValue.value);
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
recordTypeToCredentialType(recordType) {
|
|
80
|
-
switch (recordType) {
|
|
81
|
-
case core_1.SdJwtVcRecord.name:
|
|
82
|
-
return core_1.ClaimFormat.SdJwtDc;
|
|
83
|
-
case core_1.MdocRecord.name:
|
|
84
|
-
return core_1.ClaimFormat.MsoMdoc;
|
|
85
|
-
case core_1.W3cCredentialRecord.name:
|
|
86
|
-
return core_1.ClaimFormat.SdJwtW3cVc;
|
|
87
|
-
default:
|
|
88
|
-
throw new Error("Record type not supported.");
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
async findByQuery(agentContext, recordClass, query, queryOptions) {
|
|
92
|
-
// so far only encountered in the credential context
|
|
93
|
-
agentContext.config.logger.debug(`Finding records by query ${JSON.stringify(query)} and options ${JSON.stringify(queryOptions)}`);
|
|
94
|
-
const records = [];
|
|
95
|
-
for (const record of await this.getAll(agentContext, recordClass)) {
|
|
96
|
-
if (this.matchesQuery(record, query)) {
|
|
97
|
-
records.push(record);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
if (records.length === 0) {
|
|
101
|
-
// try to recover over local storage - temporary fix
|
|
102
|
-
for (const record of this.storage.values()) {
|
|
103
|
-
if (this.matchesQuery(record, query)) {
|
|
104
|
-
records.push(record);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
return records;
|
|
109
|
-
}
|
|
110
|
-
matchesQuery(record, query) {
|
|
111
|
-
return Object.entries(query).every(([key, value]) => {
|
|
112
|
-
if (key === "$or") {
|
|
113
|
-
return value.some((subquery) => this.matchesQuery(record, subquery));
|
|
114
|
-
}
|
|
115
|
-
return record.getTags()[key] === value;
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
exports.EnmeshedStorageService = EnmeshedStorageService;
|
|
120
|
-
exports.EnmeshedStorageService = EnmeshedStorageService = __decorate([
|
|
121
|
-
(0, core_1.injectable)(),
|
|
122
|
-
__metadata("design:paramtypes", [transport_1.AccountController,
|
|
123
|
-
AttributesController_1.AttributesController,
|
|
124
|
-
KeyStorage_1.KeyStorage])
|
|
125
|
-
], EnmeshedStorageService);
|
|
126
|
-
function decodeRecord(type, encoded) {
|
|
127
|
-
switch (type) {
|
|
128
|
-
case core_1.ClaimFormat.SdJwtDc:
|
|
129
|
-
return new core_1.SdJwtVcRecord({ credentialInstances: [{ compactSdJwtVc: encoded }] });
|
|
130
|
-
case core_1.ClaimFormat.MsoMdoc:
|
|
131
|
-
return new core_1.MdocRecord({ credentialInstances: [{ issuerSignedBase64Url: encoded }] });
|
|
132
|
-
case core_1.ClaimFormat.SdJwtW3cVc:
|
|
133
|
-
return new core_1.W3cCredentialRecord({ credentialInstances: [{ credential: encoded }] });
|
|
134
|
-
default:
|
|
135
|
-
throw new Error("Credential type not supported.");
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=EnmeshedStorageService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EnmeshedStorageService.js","sourceRoot":"","sources":["../../../../src/modules/openid4vc/local/EnmeshedStorageService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { X509Module } from "@credo-ts/core";
|
|
2
|
-
import { OpenId4VciCredentialResponse, OpenId4VcModule, type OpenId4VciResolvedCredentialOffer, type OpenId4VpResolvedAuthorizationRequest } from "@credo-ts/openid4vc";
|
|
3
|
-
import { TokenContentVerifiablePresentation, VerifiableCredential } from "@nmshd/content";
|
|
4
|
-
import { AccountController } from "@nmshd/transport";
|
|
5
|
-
import { AttributesController, OwnIdentityAttribute } from "../../attributes";
|
|
6
|
-
import { BaseAgent } from "./BaseAgent";
|
|
7
|
-
import { KeyStorage } from "./KeyStorage";
|
|
8
|
-
import { OpenId4VciCredentialResponseJSON } from "./OpenId4VciCredentialResponseJSON";
|
|
9
|
-
declare function getOpenIdHolderModules(): {
|
|
10
|
-
readonly openid4vc: OpenId4VcModule<null, null>;
|
|
11
|
-
readonly x509: X509Module;
|
|
12
|
-
};
|
|
13
|
-
export declare class Holder extends BaseAgent<ReturnType<typeof getOpenIdHolderModules>> {
|
|
14
|
-
client: {
|
|
15
|
-
clientId: string;
|
|
16
|
-
redirectUri: string;
|
|
17
|
-
};
|
|
18
|
-
constructor(keyStorage: KeyStorage, accountController: AccountController, attributeController: AttributesController, fetchInstance: typeof fetch);
|
|
19
|
-
resolveCredentialOffer(credentialOffer: string): Promise<OpenId4VciResolvedCredentialOffer>;
|
|
20
|
-
requestCredentials(resolvedCredentialOffer: OpenId4VciResolvedCredentialOffer, credentialConfigurationIds: string[], access: {
|
|
21
|
-
accessToken: string;
|
|
22
|
-
} | {
|
|
23
|
-
pinCode?: string;
|
|
24
|
-
}): Promise<OpenId4VciCredentialResponse[]>;
|
|
25
|
-
storeCredentials(credentialResponses: OpenId4VciCredentialResponseJSON[]): Promise<OwnIdentityAttribute[]>;
|
|
26
|
-
resolveAuthorizationRequest(request: string): Promise<OpenId4VpResolvedAuthorizationRequest>;
|
|
27
|
-
acceptAuthorizationRequest(resolvedAuthorizationRequest: OpenId4VpResolvedAuthorizationRequest, credential: OwnIdentityAttribute): Promise<{
|
|
28
|
-
readonly status: number;
|
|
29
|
-
readonly body: string | Record<string, unknown> | null;
|
|
30
|
-
} | {
|
|
31
|
-
readonly status: number;
|
|
32
|
-
readonly body: Record<string, unknown>;
|
|
33
|
-
} | undefined>;
|
|
34
|
-
createPresentationTokenContent(credential: VerifiableCredential): Promise<TokenContentVerifiablePresentation>;
|
|
35
|
-
exit(): Promise<void>;
|
|
36
|
-
restart(): Promise<void>;
|
|
37
|
-
}
|
|
38
|
-
export {};
|
|
39
|
-
//# sourceMappingURL=Holder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Holder.d.ts","sourceRoot":"","sources":["../../../../src/modules/openid4vc/local/Holder.ts"],"names":[],"mappings":"AAAA,OAAO,EAYH,UAAU,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,4BAA4B,EAAE,eAAe,EAAE,KAAK,iCAAiC,EAAE,KAAK,qCAAqC,EAAE,MAAM,qBAAqB,CAAC;AACxK,OAAO,EAAE,kCAAkC,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,iBAAS,sBAAsB;;;EAW9B;AAED,qBAAa,MAAO,SAAQ,SAAS,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;IACrE,MAAM;;;MAGX;gBAEiB,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,EAAE,OAAO,KAAK;IAI1I,sBAAsB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAI3F,kBAAkB,CAC3B,uBAAuB,EAAE,iCAAiC,EAC1D,0BAA0B,EAAE,MAAM,EAAE,EACpC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GACvD,OAAO,CAAC,4BAA4B,EAAE,CAAC;IAkE7B,gBAAgB,CAAC,mBAAmB,EAAE,gCAAgC,EAAE,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAsB1G,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qCAAqC,CAAC;IAK5F,0BAA0B,CACnC,4BAA4B,EAAE,qCAAqC,EACnE,UAAU,EAAE,oBAAoB,GACjC,OAAO,CACJ;QACI,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KAC1D,GACD;QACI,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC1C,GACD,SAAS,CACd;IA8CY,8BAA8B,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAoB7G,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGxC"}
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Holder = void 0;
|
|
4
|
-
const core_1 = require("@credo-ts/core");
|
|
5
|
-
const openid4vc_1 = require("@credo-ts/openid4vc");
|
|
6
|
-
const content_1 = require("@nmshd/content");
|
|
7
|
-
const BaseAgent_1 = require("./BaseAgent");
|
|
8
|
-
const EnmeshedStorageService_1 = require("./EnmeshedStorageService");
|
|
9
|
-
function getOpenIdHolderModules() {
|
|
10
|
-
return {
|
|
11
|
-
openid4vc: new openid4vc_1.OpenId4VcModule(),
|
|
12
|
-
x509: new core_1.X509Module({
|
|
13
|
-
getTrustedCertificatesForVerification: (_agentContext, { certificateChain, verification }) => {
|
|
14
|
-
// eslint-disable-next-line no-console
|
|
15
|
-
console.log(`dynamically trusting certificate ${certificateChain[0].getIssuerNameField("C")} for verification of ${verification.type}`);
|
|
16
|
-
return [certificateChain[0].toString("pem")];
|
|
17
|
-
}
|
|
18
|
-
})
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
class Holder extends BaseAgent_1.BaseAgent {
|
|
22
|
-
constructor(keyStorage, accountController, attributeController, fetchInstance) {
|
|
23
|
-
super(keyStorage, getOpenIdHolderModules(), accountController, attributeController, fetchInstance);
|
|
24
|
-
this.client = {
|
|
25
|
-
clientId: "wallet",
|
|
26
|
-
redirectUri: "http://localhost:3000/redirect"
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
async resolveCredentialOffer(credentialOffer) {
|
|
30
|
-
return await this.agent.openid4vc.holder.resolveCredentialOffer(credentialOffer);
|
|
31
|
-
}
|
|
32
|
-
async requestCredentials(resolvedCredentialOffer, credentialConfigurationIds, access) {
|
|
33
|
-
const tokenResponse = "accessToken" in access
|
|
34
|
-
? {
|
|
35
|
-
accessToken: access.accessToken,
|
|
36
|
-
accessTokenResponse: {
|
|
37
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
38
|
-
access_token: access.accessToken,
|
|
39
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
40
|
-
token_type: "bearer"
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
: await this.agent.openid4vc.holder.requestToken({ resolvedCredentialOffer, txCode: access.pinCode });
|
|
44
|
-
const credentialResponse = await this.agent.openid4vc.holder.requestCredentials({
|
|
45
|
-
resolvedCredentialOffer,
|
|
46
|
-
credentialConfigurationIds: credentialConfigurationIds,
|
|
47
|
-
credentialBindingResolver: async ({ supportedDidMethods, supportsAllDidMethods, proofTypes }) => {
|
|
48
|
-
const key = await this.agent.kms.createKeyForSignatureAlgorithm({
|
|
49
|
-
algorithm: proofTypes.jwt?.supportedSignatureAlgorithms[0] ?? "EdDSA"
|
|
50
|
-
});
|
|
51
|
-
const publicJwk = core_1.Kms.PublicJwk.fromPublicJwk(key.publicJwk);
|
|
52
|
-
if (supportsAllDidMethods || supportedDidMethods?.includes("did:key")) {
|
|
53
|
-
await this.agent.dids.create({
|
|
54
|
-
method: "key",
|
|
55
|
-
options: {
|
|
56
|
-
keyId: key.keyId
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
const didKey = new core_1.DidKey(publicJwk);
|
|
60
|
-
return {
|
|
61
|
-
method: "did",
|
|
62
|
-
didUrls: [`${didKey.did}#${didKey.publicJwk.fingerprint}`]
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
if (supportedDidMethods?.includes("did:jwk")) {
|
|
66
|
-
const didJwk = core_1.DidJwk.fromPublicJwk(publicJwk);
|
|
67
|
-
await this.agent.dids.create({
|
|
68
|
-
method: "jwk",
|
|
69
|
-
options: {
|
|
70
|
-
keyId: key.keyId
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
return {
|
|
74
|
-
method: "did",
|
|
75
|
-
didUrls: [`${didJwk.did}#0`]
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
// We fall back on jwk binding
|
|
79
|
-
return {
|
|
80
|
-
method: "jwk",
|
|
81
|
-
keys: [publicJwk]
|
|
82
|
-
};
|
|
83
|
-
},
|
|
84
|
-
...tokenResponse
|
|
85
|
-
});
|
|
86
|
-
this.agent.config.logger.info("Credential response:", credentialResponse);
|
|
87
|
-
return credentialResponse.credentials;
|
|
88
|
-
}
|
|
89
|
-
async storeCredentials(credentialResponses) {
|
|
90
|
-
const storedCredentials = await Promise.all(credentialResponses.map((credentialResponse) => {
|
|
91
|
-
if (![core_1.ClaimFormat.SdJwtW3cVc, core_1.ClaimFormat.SdJwtDc, core_1.ClaimFormat.MsoMdoc].includes(credentialResponse.claimFormat)) {
|
|
92
|
-
throw new Error("Unsupported credential format");
|
|
93
|
-
}
|
|
94
|
-
const enmeshedStorageService = this.agent.dependencyManager.resolve(core_1.InjectionSymbols.StorageService);
|
|
95
|
-
return enmeshedStorageService.saveWithDisplay(this.agent.context, credentialResponse.encoded, credentialResponse.claimFormat, credentialResponse.displayInformation);
|
|
96
|
-
}));
|
|
97
|
-
this.agent.config.logger.info(`Stored credentials: ${JSON.stringify(storedCredentials)}`);
|
|
98
|
-
return storedCredentials;
|
|
99
|
-
}
|
|
100
|
-
async resolveAuthorizationRequest(request) {
|
|
101
|
-
const resolvedRequest = await this.agent.openid4vc.holder.resolveOpenId4VpAuthorizationRequest(request);
|
|
102
|
-
return resolvedRequest;
|
|
103
|
-
}
|
|
104
|
-
async acceptAuthorizationRequest(resolvedAuthorizationRequest, credential) {
|
|
105
|
-
if (!resolvedAuthorizationRequest.presentationExchange && !resolvedAuthorizationRequest.dcql) {
|
|
106
|
-
throw new Error("Missing presentation exchange or dcql on resolved authorization request");
|
|
107
|
-
}
|
|
108
|
-
const credentialContent = credential.content.value;
|
|
109
|
-
const credentialRecord = (0, EnmeshedStorageService_1.decodeRecord)(credentialContent.type, credentialContent.value);
|
|
110
|
-
let credentialForPex;
|
|
111
|
-
if (resolvedAuthorizationRequest.presentationExchange) {
|
|
112
|
-
const inputDescriptor = resolvedAuthorizationRequest.presentationExchange.credentialsForRequest.requirements[0].submissionEntry[0].inputDescriptorId;
|
|
113
|
-
credentialForPex = {
|
|
114
|
-
[inputDescriptor]: [
|
|
115
|
-
{
|
|
116
|
-
credentialRecord,
|
|
117
|
-
claimFormat: credentialContent.type,
|
|
118
|
-
disclosedPayload: {} // TODO: implement SD properly
|
|
119
|
-
}
|
|
120
|
-
]
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
let credentialForDcql;
|
|
124
|
-
if (resolvedAuthorizationRequest.dcql) {
|
|
125
|
-
const queryId = resolvedAuthorizationRequest.dcql.queryResult.credentials[0].id;
|
|
126
|
-
credentialForDcql = {
|
|
127
|
-
[queryId]: [
|
|
128
|
-
{
|
|
129
|
-
credentialRecord,
|
|
130
|
-
claimFormat: credentialContent.type,
|
|
131
|
-
disclosedPayload: {} // TODO: implement SD properly
|
|
132
|
-
}
|
|
133
|
-
]
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
const submissionResult = await this.agent.openid4vc.holder.acceptOpenId4VpAuthorizationRequest({
|
|
137
|
-
authorizationRequestPayload: resolvedAuthorizationRequest.authorizationRequestPayload,
|
|
138
|
-
presentationExchange: credentialForPex ? { credentials: credentialForPex } : undefined,
|
|
139
|
-
dcql: credentialForDcql ? { credentials: credentialForDcql } : undefined
|
|
140
|
-
});
|
|
141
|
-
return submissionResult.serverResponse;
|
|
142
|
-
}
|
|
143
|
-
// hacky solution because credo doesn't support credentials without key binding
|
|
144
|
-
// TODO: use credentials without key binding once supported
|
|
145
|
-
async createPresentationTokenContent(credential) {
|
|
146
|
-
if (credential.type !== core_1.ClaimFormat.SdJwtDc)
|
|
147
|
-
throw new Error("Only SD-JWT credentials have been tested so far with token presentation");
|
|
148
|
-
const sdJwtVcApi = this.agent.dependencyManager.resolve(core_1.SdJwtVcApi);
|
|
149
|
-
const presentation = await sdJwtVcApi.present({
|
|
150
|
-
sdJwtVc: sdJwtVcApi.fromCompact(credential.value),
|
|
151
|
-
verifierMetadata: {
|
|
152
|
-
audience: "defaultPresentationAudience",
|
|
153
|
-
issuedAt: Date.now() / 1000,
|
|
154
|
-
nonce: "defaultPresentationNonce"
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
return content_1.TokenContentVerifiablePresentation.from({
|
|
158
|
-
value: presentation,
|
|
159
|
-
type: credential.type,
|
|
160
|
-
displayInformation: credential.displayInformation
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
async exit() {
|
|
164
|
-
await this.shutdown();
|
|
165
|
-
}
|
|
166
|
-
async restart() {
|
|
167
|
-
await this.shutdown();
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
exports.Holder = Holder;
|
|
171
|
-
//# sourceMappingURL=Holder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Holder.js","sourceRoot":"","sources":["../../../../src/modules/openid4vc/local/Holder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ILogger } from "@js-soft/logging-abstractions";
|
|
2
|
-
import { SynchronizedCollection } from "@nmshd/transport";
|
|
3
|
-
export declare class KeyStorage {
|
|
4
|
-
private readonly collection;
|
|
5
|
-
private readonly logger;
|
|
6
|
-
constructor(collection: SynchronizedCollection, logger: ILogger);
|
|
7
|
-
hasKey(keyId: string): Promise<boolean>;
|
|
8
|
-
storeKey(keyId: string, keyData: any): Promise<void>;
|
|
9
|
-
getKey(keyId: string): Promise<any | undefined>;
|
|
10
|
-
deleteKey(keyId: string): Promise<void>;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=KeyStorage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KeyStorage.d.ts","sourceRoot":"","sources":["../../../../src/modules/openid4vc/local/KeyStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAGxD,OAAO,EAA2C,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAmBnG,qBAAa,UAAU;IAEf,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,UAAU,EAAE,sBAAsB,EAClC,MAAM,EAAE,OAAO;IAGvB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAW/C,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CASvD"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.KeyStorage = void 0;
|
|
13
|
-
const ts_serval_1 = require("@js-soft/ts-serval");
|
|
14
|
-
const core_types_1 = require("@nmshd/core-types");
|
|
15
|
-
const transport_1 = require("@nmshd/transport");
|
|
16
|
-
const ts_simple_nameof_1 = require("ts-simple-nameof");
|
|
17
|
-
class KeyStorageEntry extends transport_1.CoreSynchronizable {
|
|
18
|
-
constructor() {
|
|
19
|
-
super(...arguments);
|
|
20
|
-
this.technicalProperties = [(0, ts_simple_nameof_1.nameof)((r) => r.key)];
|
|
21
|
-
}
|
|
22
|
-
static from(entry) {
|
|
23
|
-
return this.fromAny(entry);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
__decorate([
|
|
27
|
-
(0, ts_serval_1.serialize)({ any: true }),
|
|
28
|
-
(0, ts_serval_1.validate)(),
|
|
29
|
-
__metadata("design:type", Object)
|
|
30
|
-
], KeyStorageEntry.prototype, "key", void 0);
|
|
31
|
-
class KeyStorage {
|
|
32
|
-
constructor(collection, logger) {
|
|
33
|
-
this.collection = collection;
|
|
34
|
-
this.logger = logger;
|
|
35
|
-
}
|
|
36
|
-
async hasKey(keyId) {
|
|
37
|
-
const entry = await this.collection.read(keyId);
|
|
38
|
-
return !!entry;
|
|
39
|
-
}
|
|
40
|
-
async storeKey(keyId, keyData) {
|
|
41
|
-
const entry = await this.collection.read(keyId);
|
|
42
|
-
if (entry) {
|
|
43
|
-
this.logger.info(`Key with id ${keyId} already exists`);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
await this.collection.create(KeyStorageEntry.from({ id: core_types_1.CoreId.from(keyId), key: keyData }));
|
|
47
|
-
}
|
|
48
|
-
async getKey(keyId) {
|
|
49
|
-
const entry = await this.collection.read(keyId);
|
|
50
|
-
if (!entry) {
|
|
51
|
-
this.logger.warn(`Key with id ${keyId} not found`);
|
|
52
|
-
return undefined;
|
|
53
|
-
}
|
|
54
|
-
const parsed = KeyStorageEntry.from(entry);
|
|
55
|
-
return parsed.key;
|
|
56
|
-
}
|
|
57
|
-
async deleteKey(keyId) {
|
|
58
|
-
const entry = await this.collection.read(keyId);
|
|
59
|
-
if (!entry) {
|
|
60
|
-
this.logger.warn(`Key with id ${keyId} not found, cannot delete`);
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
await this.collection.delete(KeyStorageEntry.from(entry));
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
exports.KeyStorage = KeyStorage;
|
|
67
|
-
//# sourceMappingURL=KeyStorage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KeyStorage.js","sourceRoot":"","sources":["../../../../src/modules/openid4vc/local/KeyStorage.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kDAAyD;AACzD,kDAA2C;AAC3C,gDAAmG;AACnG,uDAA0C;AAM1C,MAAM,eAAgB,SAAQ,8BAAkB;IAAhD;;QACoB,wBAAmB,GAAa,CAAC,IAAA,yBAAM,EAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAS5F,CAAC;IAHU,MAAM,CAAC,IAAI,CAAC,KAAuB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAkB,KAAK,CAAC,CAAC;IAChD,CAAC;CACJ;AALU;IAFN,IAAA,qBAAS,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,oBAAQ,GAAE;;4CACK;AAOpB,MAAa,UAAU;IACnB,YACqB,UAAkC,EAClC,MAAe;QADf,eAAU,GAAV,UAAU,CAAwB;QAClC,WAAM,GAAN,MAAM,CAAS;IACjC,CAAC;IAEG,KAAK,CAAC,MAAM,CAAC,KAAa;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,CAAC,KAAK,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,OAAY;QAC7C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,iBAAiB,CAAC,CAAC;YACxD,OAAO;QACX,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,mBAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACjG,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,KAAa;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,YAAY,CAAC,CAAC;YACnD,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,GAAG,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,KAAa;QAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,2BAA2B,CAAC,CAAC;YAClE,OAAO;QACX,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;CACJ;AAzCD,gCAyCC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ClaimFormat, W3cJsonCredential } from "@credo-ts/core";
|
|
2
|
-
export interface OpenId4VciCredentialResponseJSON {
|
|
3
|
-
claimFormat: ClaimFormat;
|
|
4
|
-
encoded: string | W3cJsonCredential;
|
|
5
|
-
displayInformation?: Record<string, any>[];
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=OpenId4VciCredentialResponseJSON.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OpenId4VciCredentialResponseJSON.d.ts","sourceRoot":"","sources":["../../../../src/modules/openid4vc/local/OpenId4VciCredentialResponseJSON.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,WAAW,gCAAgC;IAC7C,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;CAC9C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OpenId4VciCredentialResponseJSON.js","sourceRoot":"","sources":["../../../../src/modules/openid4vc/local/OpenId4VciCredentialResponseJSON.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SynchronizedCollection } from "@nmshd/transport";
|
|
2
|
-
import { OpenId4VciCredentialResponseJSON } from "./OpenId4VciCredentialResponseJSON";
|
|
3
|
-
export declare class RequestedCredentialCache {
|
|
4
|
-
private readonly collection;
|
|
5
|
-
constructor(collection: SynchronizedCollection);
|
|
6
|
-
get(credentialOfferUrl: string): Promise<OpenId4VciCredentialResponseJSON[] | undefined>;
|
|
7
|
-
set(credentialOfferUrl: string, credentialResponses: OpenId4VciCredentialResponseJSON[]): Promise<void>;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=RequestedCredentialCache.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RequestedCredentialCache.d.ts","sourceRoot":"","sources":["../../../../src/modules/openid4vc/local/RequestedCredentialCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG9E,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAyBtF,qBAAa,wBAAwB;IACd,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,sBAAsB;IAEzD,GAAG,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,EAAE,GAAG,SAAS,CAAC;IAKxF,GAAG,CAAC,kBAAkB,EAAE,MAAM,EAAE,mBAAmB,EAAE,gCAAgC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAIvH"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.RequestedCredentialCache = void 0;
|
|
13
|
-
const ts_serval_1 = require("@js-soft/ts-serval");
|
|
14
|
-
const transport_1 = require("@nmshd/transport");
|
|
15
|
-
const ts_simple_nameof_1 = require("ts-simple-nameof");
|
|
16
|
-
const ConsumptionIds_1 = require("../../../consumption/ConsumptionIds");
|
|
17
|
-
class RequestedCredentialCacheEntry extends transport_1.CoreSynchronizable {
|
|
18
|
-
constructor() {
|
|
19
|
-
super(...arguments);
|
|
20
|
-
this.technicalProperties = [
|
|
21
|
-
(0, ts_simple_nameof_1.nameof)((r) => r.credentialOfferUrl),
|
|
22
|
-
(0, ts_simple_nameof_1.nameof)((r) => r.credentialResponses)
|
|
23
|
-
];
|
|
24
|
-
}
|
|
25
|
-
static create(id, credentialOfferUrl, credentialResponses) {
|
|
26
|
-
return this.fromAny({
|
|
27
|
-
id: id,
|
|
28
|
-
credentialOfferUrl: credentialOfferUrl,
|
|
29
|
-
credentialResponses
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
__decorate([
|
|
34
|
-
(0, ts_serval_1.serialize)(),
|
|
35
|
-
(0, ts_serval_1.validate)(),
|
|
36
|
-
__metadata("design:type", String)
|
|
37
|
-
], RequestedCredentialCacheEntry.prototype, "credentialOfferUrl", void 0);
|
|
38
|
-
__decorate([
|
|
39
|
-
(0, ts_serval_1.serialize)({ any: true }),
|
|
40
|
-
(0, ts_serval_1.validate)(),
|
|
41
|
-
__metadata("design:type", Array)
|
|
42
|
-
], RequestedCredentialCacheEntry.prototype, "credentialResponses", void 0);
|
|
43
|
-
class RequestedCredentialCache {
|
|
44
|
-
constructor(collection) {
|
|
45
|
-
this.collection = collection;
|
|
46
|
-
}
|
|
47
|
-
async get(credentialOfferUrl) {
|
|
48
|
-
const doc = await this.collection.findOne({ credentialOfferUrl: credentialOfferUrl });
|
|
49
|
-
return doc ? RequestedCredentialCacheEntry.fromAny(doc).credentialResponses : undefined;
|
|
50
|
-
}
|
|
51
|
-
async set(credentialOfferUrl, credentialResponses) {
|
|
52
|
-
const id = await ConsumptionIds_1.ConsumptionIds.requestedCredentialCacheEntry.generate();
|
|
53
|
-
await this.collection.create(RequestedCredentialCacheEntry.create(id, credentialOfferUrl, credentialResponses));
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
exports.RequestedCredentialCache = RequestedCredentialCache;
|
|
57
|
-
//# sourceMappingURL=RequestedCredentialCache.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RequestedCredentialCache.js","sourceRoot":"","sources":["../../../../src/modules/openid4vc/local/RequestedCredentialCache.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAyD;AAEzD,gDAA8E;AAC9E,uDAA0C;AAC1C,wEAAqE;AAGrE,MAAM,6BAA8B,SAAQ,8BAAkB;IAA9D;;QACoB,wBAAmB,GAAa;YAC5C,IAAA,yBAAM,EAAgC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;YAClE,IAAA,yBAAM,EAAgC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;SACtE,CAAC;IAiBN,CAAC;IAPU,MAAM,CAAC,MAAM,CAAC,EAAU,EAAE,kBAA0B,EAAE,mBAAuD;QAChH,OAAO,IAAI,CAAC,OAAO,CAAgC;YAC/C,EAAE,EAAE,EAAE;YACN,kBAAkB,EAAE,kBAAkB;YACtC,mBAAmB;SACtB,CAAC,CAAC;IACP,CAAC;CACJ;AAbU;IAFN,IAAA,qBAAS,GAAE;IACX,IAAA,oBAAQ,GAAE;;yEACuB;AAI3B;IAFN,IAAA,qBAAS,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACxB,IAAA,oBAAQ,GAAE;;0EACoD;AAWnE,MAAa,wBAAwB;IACjC,YAAoC,UAAkC;QAAlC,eAAU,GAAV,UAAU,CAAwB;IAAG,CAAC;IAEnE,KAAK,CAAC,GAAG,CAAC,kBAA0B;QACvC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACtF,OAAO,GAAG,CAAC,CAAC,CAAC,6BAA6B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,kBAA0B,EAAE,mBAAuD;QAChG,MAAM,EAAE,GAAG,MAAM,+BAAc,CAAC,6BAA6B,CAAC,QAAQ,EAAE,CAAC;QACzE,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAE,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACpH,CAAC;CACJ;AAZD,4DAYC"}
|
package/dist/modules/requests/events/ShareCredentialOfferRequestItemProcessedByRecipientEvent.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { CoreAddress } from "@nmshd/core-types";
|
|
2
|
-
import { TransportDataEvent } from "@nmshd/transport";
|
|
3
|
-
export interface ShareCredentialOfferRequestItemProcessedByRecipientEventData {
|
|
4
|
-
credentialOfferUrl: string;
|
|
5
|
-
accepted: boolean;
|
|
6
|
-
peer: CoreAddress;
|
|
7
|
-
}
|
|
8
|
-
export declare class ShareCredentialOfferRequestItemProcessedByRecipientEvent extends TransportDataEvent<ShareCredentialOfferRequestItemProcessedByRecipientEventData> {
|
|
9
|
-
static readonly namespace = "consumption.shareCredentialOfferRequestItemProcessedByRecipient";
|
|
10
|
-
constructor(eventTargetAddress: string, data: ShareCredentialOfferRequestItemProcessedByRecipientEventData);
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=ShareCredentialOfferRequestItemProcessedByRecipientEvent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ShareCredentialOfferRequestItemProcessedByRecipientEvent.d.ts","sourceRoot":"","sources":["../../../../src/modules/requests/events/ShareCredentialOfferRequestItemProcessedByRecipientEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,4DAA4D;IACzE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;CACrB;AAED,qBAAa,wDAAyD,SAAQ,kBAAkB,CAAC,4DAA4D,CAAC;IAC1J,gBAAuB,SAAS,qEAAqE;gBAElF,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,4DAA4D;CAGpH"}
|
package/dist/modules/requests/events/ShareCredentialOfferRequestItemProcessedByRecipientEvent.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ShareCredentialOfferRequestItemProcessedByRecipientEvent = void 0;
|
|
4
|
-
const transport_1 = require("@nmshd/transport");
|
|
5
|
-
class ShareCredentialOfferRequestItemProcessedByRecipientEvent extends transport_1.TransportDataEvent {
|
|
6
|
-
static { this.namespace = "consumption.shareCredentialOfferRequestItemProcessedByRecipient"; }
|
|
7
|
-
constructor(eventTargetAddress, data) {
|
|
8
|
-
super(ShareCredentialOfferRequestItemProcessedByRecipientEvent.namespace, eventTargetAddress, data);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
exports.ShareCredentialOfferRequestItemProcessedByRecipientEvent = ShareCredentialOfferRequestItemProcessedByRecipientEvent;
|
|
12
|
-
//# sourceMappingURL=ShareCredentialOfferRequestItemProcessedByRecipientEvent.js.map
|
package/dist/modules/requests/events/ShareCredentialOfferRequestItemProcessedByRecipientEvent.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ShareCredentialOfferRequestItemProcessedByRecipientEvent.js","sourceRoot":"","sources":["../../../../src/modules/requests/events/ShareCredentialOfferRequestItemProcessedByRecipientEvent.ts"],"names":[],"mappings":";;;AACA,gDAAsD;AAQtD,MAAa,wDAAyD,SAAQ,8BAAgF;aACnI,cAAS,GAAG,iEAAiE,CAAC;IAErG,YAAmB,kBAA0B,EAAE,IAAkE;QAC7G,KAAK,CAAC,wDAAwD,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACxG,CAAC;;AALL,4HAMC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Serializable } from "@js-soft/ts-serval";
|
|
2
|
-
import { CoreId } from "@nmshd/core-types";
|
|
3
|
-
import { AcceptRequestItemParametersJSON } from "../../incoming/decide/AcceptRequestItemParameters";
|
|
4
|
-
export interface AcceptShareAuthorizationRequestRequestItemParametersJSON extends AcceptRequestItemParametersJSON {
|
|
5
|
-
attributeId: string;
|
|
6
|
-
}
|
|
7
|
-
export declare class AcceptShareAuthorizationRequestRequestItemParameters extends Serializable {
|
|
8
|
-
attributeId: CoreId;
|
|
9
|
-
static from(value: AcceptShareAuthorizationRequestRequestItemParametersJSON): AcceptShareAuthorizationRequestRequestItemParameters;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=AcceptShareAuthorizationRequestRequestItemParameters.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AcceptShareAuthorizationRequestRequestItemParameters.d.ts","sourceRoot":"","sources":["../../../../../src/modules/requests/itemProcessors/shareAuthorizationRequest/AcceptShareAuthorizationRequestRequestItemParameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA6B,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AAEpG,MAAM,WAAW,wDAAyD,SAAQ,+BAA+B;IAC7G,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,qBACa,oDAAqD,SAAQ,YAAY;IAG3E,WAAW,EAAE,MAAM,CAAC;WAEb,IAAI,CAAC,KAAK,EAAE,wDAAwD,GAAG,oDAAoD;CAG5I"}
|