@sphereon/ssi-sdk.siopv2-oid4vp-op-auth 0.32.1-feature.VDX.341.57 → 0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187
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/agent/DidAuthSiopOpAuthenticator.d.ts +5 -5
- package/dist/agent/DidAuthSiopOpAuthenticator.d.ts.map +1 -1
- package/dist/agent/DidAuthSiopOpAuthenticator.js +85 -64
- package/dist/agent/DidAuthSiopOpAuthenticator.js.map +1 -1
- package/dist/services/Siopv2MachineService.d.ts +3 -2
- package/dist/services/Siopv2MachineService.d.ts.map +1 -1
- package/dist/services/Siopv2MachineService.js +4 -4
- package/dist/services/Siopv2MachineService.js.map +1 -1
- package/dist/session/OpSession.d.ts.map +1 -1
- package/dist/session/OpSession.js +3 -3
- package/dist/session/OpSession.js.map +1 -1
- package/dist/types/IDidAuthSiopOpAuthenticator.d.ts +6 -2
- package/dist/types/IDidAuthSiopOpAuthenticator.d.ts.map +1 -1
- package/dist/types/IDidAuthSiopOpAuthenticator.js.map +1 -1
- package/dist/types/machine/index.d.ts +1 -0
- package/dist/types/machine/index.d.ts.map +1 -1
- package/dist/types/machine/index.js.map +1 -1
- package/dist/types/siop-service/index.d.ts +20 -5
- package/dist/types/siop-service/index.d.ts.map +1 -1
- package/dist/types/siop-service/index.js.map +1 -1
- package/package.json +18 -18
- package/src/agent/DidAuthSiopOpAuthenticator.ts +109 -96
- package/src/services/Siopv2MachineService.ts +6 -4
- package/src/session/OpSession.ts +7 -5
- package/src/types/IDidAuthSiopOpAuthenticator.ts +14 -2
- package/src/types/machine/index.ts +1 -0
- package/src/types/siop-service/index.ts +22 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDidAuthSiopOpAuthenticator.d.ts","sourceRoot":"","sources":["../../src/types/IDidAuthSiopOpAuthenticator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"IDidAuthSiopOpAuthenticator.d.ts","sourceRoot":"","sources":["../../src/types/IDidAuthSiopOpAuthenticator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDidAuthSiopOpAuthenticator.js","sourceRoot":"","sources":["../../src/types/IDidAuthSiopOpAuthenticator.ts"],"names":[],"mappings":";;;AAoDa,QAAA,gBAAgB,GAAG,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"IDidAuthSiopOpAuthenticator.js","sourceRoot":"","sources":["../../src/types/IDidAuthSiopOpAuthenticator.ts"],"names":[],"mappings":";;;AAoDa,QAAA,gBAAgB,GAAG,gCAAgC,CAAA;AA8EhE,IAAY,MAEX;AAFD,WAAY,MAAM;IAChB,yDAA+C,CAAA;AACjD,CAAC,EAFW,MAAM,sBAAN,MAAM,QAEjB;AAiFY,QAAA,sBAAsB,GAAG,cAAc,CAAA"}
|
|
@@ -17,6 +17,7 @@ export type Siopv2MachineContext = {
|
|
|
17
17
|
contactAlias: string;
|
|
18
18
|
selectableCredentialsMap?: SelectableCredentialsMap;
|
|
19
19
|
selectedCredentials: Array<UniqueDigitalCredential>;
|
|
20
|
+
isFirstParty?: boolean;
|
|
20
21
|
error?: ErrorDetails;
|
|
21
22
|
};
|
|
22
23
|
export declare enum Siopv2MachineStates {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/machine/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/machine/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/machine/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/machine/index.ts"],"names":[],"mappings":";;;AAwBA,IAAY,mBAeX;AAfD,WAAY,mBAAmB;IAC7B,oDAA6B,CAAA;IAC7B,wDAAiC,CAAA;IACjC,4EAAqD,CAAA;IACrD,0DAAmC,CAAA;IACnC,kEAA2C,CAAA;IAC3C,gDAAyB,CAAA;IACzB,gEAAyC,CAAA;IACzC,8DAAuC,CAAA;IACvC,oDAA6B,CAAA;IAC7B,kDAA2B,CAAA;IAC3B,0CAAmB,CAAA;IACnB,4CAAqB,CAAA;IACrB,sCAAe,CAAA;IACf,oCAAa,CAAA;AACf,CAAC,EAfW,mBAAmB,mCAAnB,mBAAmB,QAe9B;AAED,IAAY,6BAIX;AAJD,WAAY,6BAA6B;IACvC,8CAAa,CAAA;IACb,wDAAuB,CAAA;IACvB,8CAAa,CAAA;AACf,CAAC,EAJW,6BAA6B,6CAA7B,6BAA6B,QAIxC;AA6CD,IAAY,mBAQX;AARD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,4CAAqB,CAAA;IACrB,0CAAmB,CAAA;IACnB,8DAAuC,CAAA;IACvC,kEAA2C,CAAA;IAC3C,wDAAiC,CAAA;IACjC,4EAAqD,CAAA;AACvD,CAAC,EARW,mBAAmB,mCAAnB,mBAAmB,QAQ9B;AAED,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC7B,oEAA6C,CAAA;IAC7C,sEAA+C,CAAA;IAC/C,gEAAyC,CAAA;IACzC,0FAAmE,CAAA;IACnE,gHAAyF,CAAA;IACzF,wGAAiF,CAAA;IACjF,8DAAuC,CAAA;IACvC,0EAAmD,CAAA;AACrD,CAAC,EATW,mBAAmB,mCAAnB,mBAAmB,QAS9B;AAED,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC/B,0DAAiC,CAAA;IACjC,8EAAqD,CAAA;IACrD,4DAAmC,CAAA;IACnC,kEAAyC,CAAA;IACzC,sDAA6B,CAAA;IAC7B,sDAA6B,CAAA;AAC/B,CAAC,EAPW,qBAAqB,qCAArB,qBAAqB,QAOhC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PresentationDefinitionWithLocation, RPRegistrationMetadataPayload } from '@sphereon/did-auth-siop';
|
|
1
|
+
import { PresentationDefinitionWithLocation, PresentationSignCallback, RPRegistrationMetadataPayload, VerifiedAuthorizationRequest } from '@sphereon/did-auth-siop';
|
|
2
2
|
import { IIdentifierResolution, ManagedIdentifierOptsOrResult } from '@sphereon/ssi-sdk-ext.identifier-resolution';
|
|
3
3
|
import { IContactManager } from '@sphereon/ssi-sdk.contact-manager';
|
|
4
4
|
import { ICredentialStore, UniqueDigitalCredential } from '@sphereon/ssi-sdk.credential-store';
|
|
@@ -8,21 +8,36 @@ import { IAgentContext, IDIDManager, IIdentifier, IResolver } from '@veramo/core
|
|
|
8
8
|
import { IDidAuthSiopOpAuthenticator } from '../IDidAuthSiopOpAuthenticator';
|
|
9
9
|
import { Siopv2MachineContext, Siopv2MachineInterpreter, Siopv2MachineState } from '../machine';
|
|
10
10
|
import { DcqlQuery } from 'dcql';
|
|
11
|
+
import { Hasher } from '@sphereon/ssi-types';
|
|
11
12
|
export type DidAuthSiopOpAuthenticatorOptions = {
|
|
13
|
+
presentationSignCallback?: PresentationSignCallback;
|
|
14
|
+
customApprovals?: Record<string, (verifiedAuthorizationRequest: VerifiedAuthorizationRequest, sessionId: string) => Promise<void>>;
|
|
12
15
|
onContactIdentityCreated?: (args: OnContactIdentityCreatedArgs) => Promise<void>;
|
|
13
16
|
onIdentifierCreated?: (args: OnIdentifierCreatedArgs) => Promise<void>;
|
|
17
|
+
hasher?: Hasher;
|
|
14
18
|
};
|
|
15
19
|
export type GetMachineArgs = {
|
|
16
20
|
url: string | URL;
|
|
17
21
|
idOpts?: ManagedIdentifierOptsOrResult;
|
|
18
22
|
stateNavigationListener?: (siopv2Machine: Siopv2MachineInterpreter, state: Siopv2MachineState, navigation?: any) => Promise<void>;
|
|
19
23
|
};
|
|
20
|
-
export type CreateConfigArgs =
|
|
24
|
+
export type CreateConfigArgs = {
|
|
25
|
+
url: string;
|
|
26
|
+
};
|
|
21
27
|
export type CreateConfigResult = Omit<DidAuthConfig, 'stateId' | 'idOpts'>;
|
|
22
|
-
export type GetSiopRequestArgs =
|
|
28
|
+
export type GetSiopRequestArgs = {
|
|
29
|
+
didAuthConfig?: Omit<DidAuthConfig, 'identifier'>;
|
|
30
|
+
url: string;
|
|
31
|
+
};
|
|
23
32
|
export type RetrieveContactArgs = Pick<Siopv2MachineContext, 'url' | 'authorizationRequestData'>;
|
|
24
33
|
export type AddIdentityArgs = Pick<Siopv2MachineContext, 'contact' | 'authorizationRequestData'>;
|
|
25
|
-
export type SendResponseArgs =
|
|
34
|
+
export type SendResponseArgs = {
|
|
35
|
+
didAuthConfig?: Omit<DidAuthConfig, 'identifier'>;
|
|
36
|
+
authorizationRequestData?: Siopv2AuthorizationRequestData;
|
|
37
|
+
selectedCredentials: Array<UniqueDigitalCredential>;
|
|
38
|
+
idOpts?: ManagedIdentifierOptsOrResult;
|
|
39
|
+
isFirstParty?: boolean;
|
|
40
|
+
};
|
|
26
41
|
export type GetSelectableCredentialsArgs = Pick<Siopv2MachineContext, 'authorizationRequestData'>;
|
|
27
42
|
export declare enum Siopv2HolderEvent {
|
|
28
43
|
CONTACT_IDENTITY_CREATED = "contact_identity_created",
|
|
@@ -33,7 +48,7 @@ export declare enum SupportedLanguage {
|
|
|
33
48
|
DUTCH = "nl"
|
|
34
49
|
}
|
|
35
50
|
export type Siopv2AuthorizationResponseData = {
|
|
36
|
-
body?: string
|
|
51
|
+
body?: string | Record<string, any>;
|
|
37
52
|
url?: string;
|
|
38
53
|
queryParams?: Record<string, any>;
|
|
39
54
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/siop-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/siop-service/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/siop-service/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/siop-service/index.ts"],"names":[],"mappings":";;;AA+CA,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,0EAAqD,CAAA;IACrD,8DAAyC,CAAA;AAC3C,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B;AAED,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,mCAAc,CAAA;IACd,iCAAY,CAAA;AACd,CAAC,EAHW,iBAAiB,iCAAjB,iBAAiB,QAG5B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth",
|
|
3
|
-
"version": "0.32.1-feature.
|
|
3
|
+
"version": "0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187+cb1cb474",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -14,26 +14,26 @@
|
|
|
14
14
|
"build:clean": "tsc --build --clean && tsc --build"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@sphereon/did-auth-siop": "0.16.1-feature.
|
|
18
|
-
"@sphereon/did-auth-siop-adapter": "0.16.1-feature.
|
|
19
|
-
"@sphereon/oid4vc-common": "0.16.1-feature.
|
|
17
|
+
"@sphereon/did-auth-siop": "0.16.1-feature.IATAB2B.52.345",
|
|
18
|
+
"@sphereon/did-auth-siop-adapter": "0.16.1-feature.IATAB2B.52.345",
|
|
19
|
+
"@sphereon/oid4vc-common": "0.16.1-feature.IATAB2B.52.345",
|
|
20
20
|
"@sphereon/pex": "5.0.0-unstable.28",
|
|
21
21
|
"@sphereon/pex-models": "^2.3.2",
|
|
22
22
|
"@sphereon/ssi-sdk-ext.did-utils": "0.27.0",
|
|
23
23
|
"@sphereon/ssi-sdk-ext.identifier-resolution": "0.27.0",
|
|
24
24
|
"@sphereon/ssi-sdk-ext.jwt-service": "0.27.0",
|
|
25
|
-
"@sphereon/ssi-sdk.contact-manager": "0.32.1-feature.
|
|
26
|
-
"@sphereon/ssi-sdk.core": "0.32.1-feature.
|
|
27
|
-
"@sphereon/ssi-sdk.credential-store": "0.32.1-feature.
|
|
28
|
-
"@sphereon/ssi-sdk.credential-validation": "0.32.1-feature.
|
|
29
|
-
"@sphereon/ssi-sdk.data-store": "0.32.1-feature.
|
|
30
|
-
"@sphereon/ssi-sdk.issuance-branding": "0.32.1-feature.
|
|
31
|
-
"@sphereon/ssi-sdk.pd-manager": "0.32.1-feature.
|
|
32
|
-
"@sphereon/ssi-sdk.presentation-exchange": "0.32.1-feature.
|
|
33
|
-
"@sphereon/ssi-sdk.sd-jwt": "0.32.1-feature.
|
|
34
|
-
"@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.32.1-feature.
|
|
35
|
-
"@sphereon/ssi-sdk.xstate-machine-persistence": "0.32.1-feature.
|
|
36
|
-
"@sphereon/ssi-types": "0.32.1-feature.
|
|
25
|
+
"@sphereon/ssi-sdk.contact-manager": "0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187+cb1cb474",
|
|
26
|
+
"@sphereon/ssi-sdk.core": "0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187+cb1cb474",
|
|
27
|
+
"@sphereon/ssi-sdk.credential-store": "0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187+cb1cb474",
|
|
28
|
+
"@sphereon/ssi-sdk.credential-validation": "0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187+cb1cb474",
|
|
29
|
+
"@sphereon/ssi-sdk.data-store": "0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187+cb1cb474",
|
|
30
|
+
"@sphereon/ssi-sdk.issuance-branding": "0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187+cb1cb474",
|
|
31
|
+
"@sphereon/ssi-sdk.pd-manager": "0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187+cb1cb474",
|
|
32
|
+
"@sphereon/ssi-sdk.presentation-exchange": "0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187+cb1cb474",
|
|
33
|
+
"@sphereon/ssi-sdk.sd-jwt": "0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187+cb1cb474",
|
|
34
|
+
"@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187+cb1cb474",
|
|
35
|
+
"@sphereon/ssi-sdk.xstate-machine-persistence": "0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187+cb1cb474",
|
|
36
|
+
"@sphereon/ssi-types": "0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187+cb1cb474",
|
|
37
37
|
"@sphereon/wellknown-dids-client": "^0.1.3",
|
|
38
38
|
"@veramo/core": "4.2.0",
|
|
39
39
|
"@veramo/credential-w3c": "4.2.0",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@sphereon/did-uni-client": "^0.6.3",
|
|
50
50
|
"@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.27.0",
|
|
51
|
-
"@sphereon/ssi-sdk.agent-config": "0.32.1-feature.
|
|
51
|
+
"@sphereon/ssi-sdk.agent-config": "0.32.1-feature.oid4vp.rest.api.improv.bootcamp.187+cb1cb474",
|
|
52
52
|
"@types/i18n-js": "^3.8.9",
|
|
53
53
|
"@types/lodash.memoize": "^4.1.9",
|
|
54
54
|
"@types/sha.js": "^2.4.4",
|
|
@@ -91,5 +91,5 @@
|
|
|
91
91
|
"Authenticator"
|
|
92
92
|
],
|
|
93
93
|
"nx": {},
|
|
94
|
-
"gitHead": "
|
|
94
|
+
"gitHead": "cb1cb474f6b670933f9bd5ea40da9dc421d5585f"
|
|
95
95
|
}
|
|
@@ -10,13 +10,14 @@ import {
|
|
|
10
10
|
NonPersistedIdentity,
|
|
11
11
|
Party,
|
|
12
12
|
} from '@sphereon/ssi-sdk.data-store'
|
|
13
|
-
import { Hasher, Loggers } from '@sphereon/ssi-types'
|
|
13
|
+
import { Hasher, Loggers, SdJwtDecodedVerifiableCredential } from '@sphereon/ssi-types'
|
|
14
14
|
import { IAgentPlugin } from '@veramo/core'
|
|
15
15
|
import { v4 as uuidv4 } from 'uuid'
|
|
16
16
|
import {
|
|
17
17
|
DidAuthSiopOpAuthenticatorOptions,
|
|
18
18
|
GetSelectableCredentialsArgs,
|
|
19
19
|
IOpSessionArgs,
|
|
20
|
+
Json,
|
|
20
21
|
LOGGER_NAMESPACE,
|
|
21
22
|
RequiredContext,
|
|
22
23
|
schema,
|
|
@@ -27,33 +28,31 @@ import {
|
|
|
27
28
|
import { Siopv2Machine } from '../machine/Siopv2Machine'
|
|
28
29
|
import { getSelectableCredentials, siopSendAuthorizationResponse, translateCorrelationIdToName } from '../services/Siopv2MachineService'
|
|
29
30
|
import { OpSession } from '../session'
|
|
31
|
+
import { PEX, Status } from '@sphereon/pex'
|
|
32
|
+
import { computeEntryHash } from '@veramo/utils'
|
|
33
|
+
import { UniqueDigitalCredential } from '@sphereon/ssi-sdk.credential-store'
|
|
34
|
+
import { EventEmitter } from 'events'
|
|
30
35
|
import {
|
|
36
|
+
AddIdentityArgs,
|
|
37
|
+
CreateConfigArgs,
|
|
38
|
+
CreateConfigResult,
|
|
39
|
+
GetSiopRequestArgs,
|
|
31
40
|
IDidAuthSiopOpAuthenticator,
|
|
32
41
|
IGetSiopSessionArgs,
|
|
33
42
|
IRegisterCustomApprovalForSiopArgs,
|
|
34
43
|
IRemoveCustomApprovalForSiopArgs,
|
|
35
44
|
IRemoveSiopSessionArgs,
|
|
36
45
|
IRequiredContext,
|
|
37
|
-
} from '../types/IDidAuthSiopOpAuthenticator'
|
|
38
|
-
import { Siopv2Machine as Siopv2MachineId, Siopv2MachineInstanceOpts } from '../types/machine'
|
|
39
|
-
|
|
40
|
-
import {
|
|
41
|
-
AddIdentityArgs,
|
|
42
|
-
CreateConfigArgs,
|
|
43
|
-
CreateConfigResult,
|
|
44
|
-
GetSiopRequestArgs,
|
|
45
46
|
OnContactIdentityCreatedArgs,
|
|
46
47
|
OnIdentifierCreatedArgs,
|
|
47
48
|
RetrieveContactArgs,
|
|
48
49
|
SendResponseArgs,
|
|
49
50
|
Siopv2AuthorizationRequestData,
|
|
50
51
|
Siopv2HolderEvent,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
import {
|
|
55
|
-
import { EventEmitter } from 'events'
|
|
56
|
-
import { DcqlCredential, DcqlPresentation, DcqlQuery } from 'dcql'
|
|
52
|
+
Siopv2Machine as Siopv2MachineId,
|
|
53
|
+
Siopv2MachineInstanceOpts,
|
|
54
|
+
} from '../types'
|
|
55
|
+
import { DcqlCredential, DcqlPresentation, DcqlQuery, DcqlSdJwtVcCredential } from 'dcql'
|
|
57
56
|
|
|
58
57
|
const logger = Loggers.DEFAULT.options(LOGGER_NAMESPACE, {}).get(LOGGER_NAMESPACE)
|
|
59
58
|
|
|
@@ -92,26 +91,20 @@ export class DidAuthSiopOpAuthenticator implements IAgentPlugin {
|
|
|
92
91
|
private readonly sessions: Map<string, OpSession>
|
|
93
92
|
private readonly customApprovals: Record<string, (verifiedAuthorizationRequest: VerifiedAuthorizationRequest, sessionId: string) => Promise<void>>
|
|
94
93
|
private readonly presentationSignCallback?: PresentationSignCallback
|
|
95
|
-
|
|
96
94
|
private readonly onContactIdentityCreated?: (args: OnContactIdentityCreatedArgs) => Promise<void>
|
|
97
95
|
private readonly onIdentifierCreated?: (args: OnIdentifierCreatedArgs) => Promise<void>
|
|
98
96
|
private readonly eventEmitter?: EventEmitter
|
|
99
|
-
private readonly hasher
|
|
100
|
-
|
|
101
|
-
constructor(
|
|
102
|
-
presentationSignCallback
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
hasher?: Hasher, // FIXME BEFORE PR move into DidAuthSiopOpAuthenticatorOptions (move everything into options like we do with the rest of the agent plugins)
|
|
106
|
-
) {
|
|
107
|
-
const { onContactIdentityCreated, onIdentifierCreated } = options ?? {}
|
|
97
|
+
private readonly hasher?: Hasher
|
|
98
|
+
|
|
99
|
+
constructor(options?: DidAuthSiopOpAuthenticatorOptions) {
|
|
100
|
+
const { onContactIdentityCreated, onIdentifierCreated, hasher, customApprovals = {}, presentationSignCallback } = { ...options }
|
|
101
|
+
|
|
102
|
+
this.hasher = hasher
|
|
108
103
|
this.onContactIdentityCreated = onContactIdentityCreated
|
|
109
104
|
this.onIdentifierCreated = onIdentifierCreated
|
|
110
|
-
|
|
111
|
-
this.sessions = new Map<string, OpSession>()
|
|
112
|
-
this.customApprovals = customApprovals || {}
|
|
113
105
|
this.presentationSignCallback = presentationSignCallback
|
|
114
|
-
this.
|
|
106
|
+
this.sessions = new Map<string, OpSession>()
|
|
107
|
+
this.customApprovals = customApprovals
|
|
115
108
|
}
|
|
116
109
|
|
|
117
110
|
public async onEvent(event: any, context: RequiredContext): Promise<void> {
|
|
@@ -191,8 +184,8 @@ export class DidAuthSiopOpAuthenticator implements IAgentPlugin {
|
|
|
191
184
|
return Siopv2Machine.newInstance(siopv2MachineOpts)
|
|
192
185
|
}
|
|
193
186
|
|
|
194
|
-
private async siopCreateConfig(
|
|
195
|
-
const { url } =
|
|
187
|
+
private async siopCreateConfig<TContext extends CreateConfigArgs>(context: TContext): Promise<CreateConfigResult> {
|
|
188
|
+
const { url } = context
|
|
196
189
|
|
|
197
190
|
if (!url) {
|
|
198
191
|
return Promise.reject(Error('Missing request uri in context'))
|
|
@@ -219,9 +212,14 @@ export class DidAuthSiopOpAuthenticator implements IAgentPlugin {
|
|
|
219
212
|
}
|
|
220
213
|
const { sessionId, redirectUrl } = didAuthConfig
|
|
221
214
|
|
|
222
|
-
const session: OpSession = await agent
|
|
223
|
-
|
|
224
|
-
|
|
215
|
+
const session: OpSession = await agent.siopGetOPSession({ sessionId }).catch(
|
|
216
|
+
async () =>
|
|
217
|
+
await agent.siopRegisterOPSession({
|
|
218
|
+
requestJwtOrUri: redirectUrl,
|
|
219
|
+
sessionId,
|
|
220
|
+
op: { eventEmitter: this.eventEmitter, hasher: this.hasher },
|
|
221
|
+
}),
|
|
222
|
+
)
|
|
225
223
|
|
|
226
224
|
logger.debug(`session: ${JSON.stringify(session.id, null, 2)}`)
|
|
227
225
|
const verifiedAuthorizationRequest = await session.getAuthorizationRequest()
|
|
@@ -339,7 +337,7 @@ export class DidAuthSiopOpAuthenticator implements IAgentPlugin {
|
|
|
339
337
|
}
|
|
340
338
|
|
|
341
339
|
private async siopSendResponse(args: SendResponseArgs, context: RequiredContext): Promise<Siopv2AuthorizationResponseData> {
|
|
342
|
-
const { didAuthConfig, authorizationRequestData, selectedCredentials } = args
|
|
340
|
+
const { didAuthConfig, authorizationRequestData, selectedCredentials, isFirstParty } = args
|
|
343
341
|
|
|
344
342
|
if (didAuthConfig === undefined) {
|
|
345
343
|
return Promise.reject(Error('Missing config in context'))
|
|
@@ -349,65 +347,72 @@ export class DidAuthSiopOpAuthenticator implements IAgentPlugin {
|
|
|
349
347
|
return Promise.reject(Error('Missing authorization request data in context'))
|
|
350
348
|
}
|
|
351
349
|
|
|
352
|
-
const pex = new PEX()
|
|
350
|
+
const pex = new PEX({ hasher: this.hasher })
|
|
353
351
|
const verifiableCredentialsWithDefinition: Array<VerifiableCredentialsWithDefinition> = []
|
|
354
352
|
const dcqlCredentialsWithCredentials: Map<DcqlCredential, UniqueDigitalCredential> = new Map()
|
|
355
353
|
|
|
356
|
-
if (authorizationRequestData.presentationDefinitions
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
354
|
+
if (Array.isArray(authorizationRequestData.presentationDefinitions) && authorizationRequestData?.presentationDefinitions.length > 0) {
|
|
355
|
+
try {
|
|
356
|
+
authorizationRequestData.presentationDefinitions?.forEach((presentationDefinition) => {
|
|
357
|
+
const { areRequiredCredentialsPresent, verifiableCredential: verifiableCredentials } = pex.selectFrom(
|
|
358
|
+
presentationDefinition.definition,
|
|
359
|
+
selectedCredentials.map((udc) => udc.originalVerifiableCredential!),
|
|
360
|
+
)
|
|
361
|
+
|
|
362
|
+
if (areRequiredCredentialsPresent !== Status.ERROR && verifiableCredentials) {
|
|
363
|
+
let uniqueDigitalCredentials: UniqueDigitalCredential[] = []
|
|
364
|
+
uniqueDigitalCredentials = verifiableCredentials.map((vc) => {
|
|
365
|
+
// @ts-ignore FIXME Funke
|
|
366
|
+
const hash = computeEntryHash(vc)
|
|
367
|
+
const udc = selectedCredentials.find((udc) => udc.hash == hash)
|
|
368
|
+
|
|
369
|
+
if (!udc) {
|
|
370
|
+
throw Error('UniqueDigitalCredential could not be found')
|
|
371
|
+
}
|
|
372
|
+
return udc
|
|
373
|
+
})
|
|
374
|
+
verifiableCredentialsWithDefinition.push({
|
|
375
|
+
definition: presentationDefinition,
|
|
376
|
+
credentials: uniqueDigitalCredentials,
|
|
377
|
+
})
|
|
378
|
+
}
|
|
379
|
+
})
|
|
380
|
+
} catch (e) {
|
|
381
|
+
return Promise.reject(e)
|
|
382
|
+
}
|
|
380
383
|
|
|
381
384
|
if (verifiableCredentialsWithDefinition.length === 0) {
|
|
382
385
|
return Promise.reject(Error('None of the selected credentials match any of the presentation definitions.'))
|
|
383
386
|
}
|
|
384
|
-
} else if (authorizationRequestData.dcqlQuery
|
|
387
|
+
} else if (authorizationRequestData.dcqlQuery) {
|
|
385
388
|
//TODO Only SD-JWT and MSO MDOC are supported at the moment
|
|
386
389
|
if (this.hasMDocCredentials(selectedCredentials) || this.hasSdJwtCredentials(selectedCredentials)) {
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
:
|
|
392
|
-
|
|
393
|
-
:
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
}
|
|
390
|
+
try {
|
|
391
|
+
selectedCredentials.forEach((vc) => {
|
|
392
|
+
if (this.isSdJwtCredential(vc)) {
|
|
393
|
+
const payload = (vc.originalVerifiableCredential as SdJwtDecodedVerifiableCredential).decodedPayload
|
|
394
|
+
const result: DcqlSdJwtVcCredential = {
|
|
395
|
+
claims: payload as { [x: string]: Json },
|
|
396
|
+
vct: payload.vct,
|
|
397
|
+
credential_format: 'vc+sd-jwt',
|
|
398
|
+
}
|
|
399
|
+
dcqlCredentialsWithCredentials.set(result, vc)
|
|
400
|
+
//FIXME MDoc namespaces are incompatible: array of strings vs complex object - https://sphereon.atlassian.net/browse/SPRIND-143
|
|
401
|
+
} else {
|
|
402
|
+
throw Error(`Invalid credential format: ${vc.digitalCredential.documentFormat}`)
|
|
403
|
+
}
|
|
404
|
+
})
|
|
405
|
+
} catch (e) {
|
|
406
|
+
return Promise.reject(e)
|
|
407
|
+
}
|
|
405
408
|
|
|
406
|
-
const dcqlPresentationRecord: DcqlPresentation = {}
|
|
409
|
+
const dcqlPresentationRecord: DcqlPresentation.Output = {}
|
|
407
410
|
const queryResult = DcqlQuery.query(authorizationRequestData.dcqlQuery, Array.from(dcqlCredentialsWithCredentials.keys()))
|
|
408
411
|
for (const [key, value] of Object.entries(queryResult.credential_matches)) {
|
|
409
412
|
if (value.success) {
|
|
410
|
-
dcqlPresentationRecord[key] = this.retrieveEncodedCredential(dcqlCredentialsWithCredentials.get(value.output)!)
|
|
413
|
+
dcqlPresentationRecord[key] = this.retrieveEncodedCredential(dcqlCredentialsWithCredentials.get(value.output)!) as
|
|
414
|
+
| string
|
|
415
|
+
| { [x: string]: Json }
|
|
411
416
|
}
|
|
412
417
|
}
|
|
413
418
|
}
|
|
@@ -419,15 +424,16 @@ export class DidAuthSiopOpAuthenticator implements IAgentPlugin {
|
|
|
419
424
|
sessionId: didAuthConfig.sessionId,
|
|
420
425
|
...(args.idOpts && { idOpts: args.idOpts }),
|
|
421
426
|
...(authorizationRequestData.presentationDefinitions !== undefined && { verifiableCredentialsWithDefinition }),
|
|
427
|
+
isFirstParty,
|
|
422
428
|
hasher: this.hasher,
|
|
423
429
|
},
|
|
424
430
|
context,
|
|
425
431
|
)
|
|
426
432
|
|
|
427
|
-
const contentType = response
|
|
433
|
+
const contentType = response.headers.get('content-type') || ''
|
|
428
434
|
let responseBody: any = null
|
|
429
435
|
|
|
430
|
-
const text = await response
|
|
436
|
+
const text = await response.text()
|
|
431
437
|
if (text) {
|
|
432
438
|
responseBody = contentType.includes('application/json') || text.startsWith('{') ? JSON.parse(text) : text
|
|
433
439
|
}
|
|
@@ -435,31 +441,38 @@ export class DidAuthSiopOpAuthenticator implements IAgentPlugin {
|
|
|
435
441
|
return {
|
|
436
442
|
body: responseBody,
|
|
437
443
|
url: response?.url,
|
|
438
|
-
queryParams:
|
|
444
|
+
queryParams: decodeUriAsJson(response?.url),
|
|
439
445
|
}
|
|
440
446
|
}
|
|
441
447
|
|
|
442
448
|
private hasMDocCredentials = (credentials: UniqueDigitalCredential[]): boolean => {
|
|
443
|
-
return credentials.some(
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
449
|
+
return credentials.some(this.isMDocCredential)
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
private isMDocCredential = (credential: UniqueDigitalCredential) => {
|
|
453
|
+
return (
|
|
454
|
+
credential.digitalCredential.documentFormat === CredentialDocumentFormat.MSO_MDOC &&
|
|
455
|
+
credential.digitalCredential.documentType === DocumentType.VC
|
|
447
456
|
)
|
|
448
457
|
}
|
|
449
458
|
|
|
450
459
|
private hasSdJwtCredentials = (credentials: UniqueDigitalCredential[]): boolean => {
|
|
451
|
-
return credentials.some(
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
460
|
+
return credentials.some(this.isSdJwtCredential)
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
private isSdJwtCredential = (credential: UniqueDigitalCredential) => {
|
|
464
|
+
return (
|
|
465
|
+
credential.digitalCredential.documentFormat === CredentialDocumentFormat.SD_JWT && credential.digitalCredential.documentType === DocumentType.VC
|
|
455
466
|
)
|
|
456
467
|
}
|
|
457
468
|
|
|
458
469
|
private retrieveEncodedCredential = (credential: UniqueDigitalCredential) => {
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
470
|
+
return credential.originalVerifiableCredential !== undefined &&
|
|
471
|
+
credential.originalVerifiableCredential !== null &&
|
|
472
|
+
(credential?.originalVerifiableCredential as SdJwtDecodedVerifiableCredential)?.compactSdJwtVc !== undefined &&
|
|
473
|
+
(credential?.originalVerifiableCredential as SdJwtDecodedVerifiableCredential)?.compactSdJwtVc !== null
|
|
474
|
+
? (credential.originalVerifiableCredential as SdJwtDecodedVerifiableCredential).compactSdJwtVc
|
|
475
|
+
: credential.originalVerifiableCredential
|
|
463
476
|
}
|
|
464
477
|
|
|
465
478
|
private async siopGetSelectableCredentials(args: GetSelectableCredentialsArgs, context: RequiredContext): Promise<SelectableCredentialsMap> {
|
|
@@ -51,14 +51,15 @@ export const siopSendAuthorizationResponse = async (
|
|
|
51
51
|
sessionId: string
|
|
52
52
|
verifiableCredentialsWithDefinition?: VerifiableCredentialsWithDefinition[]
|
|
53
53
|
idOpts?: ManagedIdentifierOptsOrResult
|
|
54
|
-
|
|
54
|
+
isFirstParty?: boolean
|
|
55
55
|
hasher?: Hasher
|
|
56
|
+
dcqlQuery?: DcqlQuery
|
|
56
57
|
},
|
|
57
58
|
context: RequiredContext,
|
|
58
59
|
) => {
|
|
59
60
|
const { agent } = context
|
|
60
61
|
const agentContext = { ...context, agent: context.agent as DidAgents }
|
|
61
|
-
let { idOpts } = args
|
|
62
|
+
let { idOpts, isFirstParty, hasher } = args
|
|
62
63
|
|
|
63
64
|
if (connectionType !== ConnectionType.SIOPv2_OpenID4VP) {
|
|
64
65
|
return Promise.reject(Error(`No supported authentication provider for type: ${connectionType}`))
|
|
@@ -72,7 +73,7 @@ export const siopSendAuthorizationResponse = async (
|
|
|
72
73
|
let presentationsAndDefs: VerifiablePresentationWithDefinition[] | undefined
|
|
73
74
|
let presentationSubmission: PresentationSubmission | undefined
|
|
74
75
|
if (await session.hasPresentationDefinitions()) {
|
|
75
|
-
const oid4vp: OID4VP = await session.getOID4VP({})
|
|
76
|
+
const oid4vp: OID4VP = await session.getOID4VP({ hasher })
|
|
76
77
|
|
|
77
78
|
const credentialsAndDefinitions = args.verifiableCredentialsWithDefinition
|
|
78
79
|
? args.verifiableCredentialsWithDefinition
|
|
@@ -167,6 +168,7 @@ export const siopSendAuthorizationResponse = async (
|
|
|
167
168
|
...(presentationSubmission && { presentationSubmission }),
|
|
168
169
|
// todo: Change issuer value in case we do not use identifier. Use key.meta.jwkThumbprint then
|
|
169
170
|
responseSignerOpts: idOpts!,
|
|
171
|
+
isFirstParty,
|
|
170
172
|
})
|
|
171
173
|
} else if (request.dcqlQuery) {
|
|
172
174
|
if (args.verifiableCredentialsWithDefinition !== undefined && args.verifiableCredentialsWithDefinition !== null) {
|
|
@@ -266,7 +268,7 @@ export const siopSendAuthorizationResponse = async (
|
|
|
266
268
|
return response
|
|
267
269
|
}
|
|
268
270
|
}
|
|
269
|
-
|
|
271
|
+
throw Error('Presentation Definition or DCQL is required')
|
|
270
272
|
}
|
|
271
273
|
|
|
272
274
|
function buildPartialPD(
|
package/src/session/OpSession.ts
CHANGED
|
@@ -20,10 +20,11 @@ import { encodeBase64url } from '@sphereon/ssi-sdk.core'
|
|
|
20
20
|
import {
|
|
21
21
|
CompactSdJwtVc,
|
|
22
22
|
CredentialMapper,
|
|
23
|
-
Hasher,
|
|
23
|
+
Hasher,
|
|
24
|
+
OriginalVerifiableCredential,
|
|
24
25
|
parseDid,
|
|
25
26
|
PresentationSubmission,
|
|
26
|
-
W3CVerifiablePresentation
|
|
27
|
+
W3CVerifiablePresentation,
|
|
27
28
|
} from '@sphereon/ssi-types'
|
|
28
29
|
import { IIdentifier, IVerifyResult, TKeyType } from '@veramo/core'
|
|
29
30
|
import Debug from 'debug'
|
|
@@ -292,8 +293,8 @@ export class OpSession {
|
|
|
292
293
|
.jwtEncryptJweCompactJwt({
|
|
293
294
|
recipientKey,
|
|
294
295
|
protectedHeader: {},
|
|
295
|
-
alg: requestObjectPayload.client_metadata.authorization_encrypted_response_alg as JweAlg | undefined ?? 'ECDH-ES',
|
|
296
|
-
enc: requestObjectPayload.client_metadata.authorization_encrypted_response_enc as JweEnc | undefined ?? 'A256GCM',
|
|
296
|
+
alg: (requestObjectPayload.client_metadata.authorization_encrypted_response_alg as JweAlg | undefined) ?? 'ECDH-ES',
|
|
297
|
+
enc: (requestObjectPayload.client_metadata.authorization_encrypted_response_enc as JweEnc | undefined) ?? 'A256GCM',
|
|
297
298
|
apv: encodeBase64url(opts.requestObjectPayload.nonce),
|
|
298
299
|
apu: encodeBase64url(v4()),
|
|
299
300
|
payload: authResponse,
|
|
@@ -359,13 +360,14 @@ export class OpSession {
|
|
|
359
360
|
const responseOpts = {
|
|
360
361
|
verification,
|
|
361
362
|
issuer,
|
|
363
|
+
...(args.isFirstParty && { isFirstParty: args.isFirstParty }),
|
|
362
364
|
...(args.verifiablePresentations && {
|
|
363
365
|
presentationExchange: {
|
|
364
366
|
verifiablePresentations,
|
|
365
367
|
presentationSubmission: args.presentationSubmission,
|
|
366
368
|
} as PresentationExchangeResponseOpts,
|
|
367
369
|
}),
|
|
368
|
-
dcqlQuery: args.
|
|
370
|
+
dcqlQuery: args.dcqlResponse,
|
|
369
371
|
}
|
|
370
372
|
|
|
371
373
|
const authResponse = await op.createAuthorizationResponse(request, responseOpts)
|