@sphereon/ssi-sdk.siopv2-oid4vp-rp-rest-api 0.34.1-feature.SSISDK.58.host.nonce.endpoint.145 → 0.34.1-feature.SSISDK.62.218

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,40 +1,40 @@
1
- import { AuthorizationRequestState, AuthorizationResponseStateStatus } from '@sphereon/did-auth-siop'
1
+ import { AuthorizationRequestState, AuthorizationResponseStateStatus, AuthorizationResponseStateWithVerifiedData } from '@sphereon/did-auth-siop'
2
2
  import { checkAuth, ISingleEndpointOpts, sendErrorResponse } from '@sphereon/ssi-express-support'
3
3
  import { AuthStatusResponse, GenerateAuthRequestURIResponse, uriWithBase } from '@sphereon/ssi-sdk.siopv2-oid4vp-common'
4
- import { AuthorizationResponseStateWithVerifiedData, VerifiedDataMode } from '@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth'
4
+ import { VerifiedDataMode } from '@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth'
5
+ import { shaHasher as defaultHasher } from '@sphereon/ssi-sdk.core'
5
6
  import { Request, Response, Router } from 'express'
6
7
  import uuid from 'short-uuid'
7
8
  import { ICreateAuthRequestWebappEndpointOpts, IRequiredContext } from './types'
8
- import { shaHasher as defaultHasher } from '@sphereon/ssi-sdk.core'
9
9
 
10
10
  export function createAuthRequestWebappEndpoint(router: Router, context: IRequiredContext, opts?: ICreateAuthRequestWebappEndpointOpts) {
11
11
  if (opts?.enabled === false) {
12
12
  console.log(`createAuthRequest Webapp endpoint is disabled`)
13
13
  return
14
14
  }
15
- const path = opts?.path ?? '/webapp/definitions/:definitionId/auth-requests'
15
+ const path = opts?.path ?? '/webapp/queries/:queryId/auth-requests'
16
16
  router.post(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {
17
17
  try {
18
18
  // if (!request.agent) throw Error('No agent configured')
19
- const definitionId = request.params.definitionId
20
- if (!definitionId) {
21
- return sendErrorResponse(response, 400, 'No definitionId query parameter provided')
19
+ const queryId = request.params.queryId
20
+ if (!queryId) {
21
+ return sendErrorResponse(response, 400, 'No queryId query parameter provided')
22
22
  }
23
23
  const state: string = request.body.state ?? uuid.uuid()
24
24
  const correlationId = request.body.correlationId ?? state
25
25
  const qrCodeOpts = request.body.qrCodeOpts ?? opts?.qrCodeOpts
26
26
 
27
- const requestByReferenceURI = uriWithBase(`/siop/definitions/${definitionId}/auth-requests/${state}`, {
27
+ const requestByReferenceURI = uriWithBase(`/siop/queries/${queryId}/auth-requests/${state}`, {
28
28
  baseURI: opts?.siopBaseURI,
29
29
  })
30
- const responseURI = uriWithBase(`/siop/definitions/${definitionId}/auth-responses/${state}`, { baseURI: opts?.siopBaseURI })
30
+ const responseURI = uriWithBase(`/siop/queries/${queryId}/auth-responses/${state}`, { baseURI: opts?.siopBaseURI })
31
31
  // first version is for backwards compat
32
32
  const responseRedirectURI =
33
33
  ('response_redirect_uri' in request.body && (request.body.response_redirect_uri as string | undefined)) ??
34
34
  ('responseRedirectURI' in request.body && (request.body.responseRedirectURI as string | undefined))
35
35
 
36
36
  const authRequestURI = await context.agent.siopCreateAuthRequestURI({
37
- definitionId,
37
+ queryId,
38
38
  correlationId,
39
39
  state,
40
40
  nonce: uuid.uuid(),
@@ -53,7 +53,7 @@ export function createAuthRequestWebappEndpoint(router: Router, context: IRequir
53
53
  const authRequestBody: GenerateAuthRequestURIResponse = {
54
54
  correlationId,
55
55
  state,
56
- definitionId,
56
+ queryId,
57
57
  authRequestURI,
58
58
  authStatusURI: `${uriWithBase(opts?.webappAuthStatusPath ?? '/webapp/auth-status', { baseURI: opts?.webappBaseURI })}`,
59
59
  ...(qrCodeDataUri && { qrCodeDataUri }),
@@ -76,26 +76,24 @@ export function authStatusWebappEndpoint(router: Router, context: IRequiredConte
76
76
  try {
77
77
  console.log('Received auth-status request...')
78
78
  const correlationId: string = request.body.correlationId as string
79
- const definitionId: string = request.body.definitionId as string
79
+ const queryId: string = request.body.queryId as string
80
80
 
81
81
  const requestState =
82
- correlationId && definitionId
82
+ correlationId && queryId
83
83
  ? await context.agent.siopGetAuthRequestState({
84
84
  correlationId,
85
- definitionId,
85
+ queryId,
86
86
  errorOnNotFound: false,
87
87
  })
88
88
  : undefined
89
- if (!requestState || !definitionId || !correlationId) {
90
- console.log(
91
- `No authentication request mapping could be found for the given URL. correlation: ${correlationId}, definitionId: ${definitionId}`,
92
- )
89
+ if (!requestState || !queryId || !correlationId) {
90
+ console.log(`No authentication request mapping could be found for the given URL. correlation: ${correlationId}, queryId: ${queryId}`)
93
91
  response.statusCode = 404
94
92
  const statusBody: AuthStatusResponse = {
95
93
  status: requestState ? requestState.status : 'error',
96
94
  error: 'No authentication request mapping could be found for the given URL.',
97
95
  correlationId,
98
- definitionId,
96
+ queryId,
99
97
  lastUpdated: requestState ? requestState.lastUpdated : Date.now(),
100
98
  }
101
99
  return response.json(statusBody)
@@ -107,10 +105,10 @@ export function authStatusWebappEndpoint(router: Router, context: IRequiredConte
107
105
  }
108
106
 
109
107
  let responseState
110
- if (requestState.status === 'sent') {
108
+ if (requestState.status === 'authorization_request_retrieved') {
111
109
  responseState = (await context.agent.siopGetAuthResponseState({
112
110
  correlationId,
113
- definitionId,
111
+ queryId,
114
112
  includeVerifiedData: includeVerifiedData,
115
113
  errorOnNotFound: false,
116
114
  })) as AuthorizationResponseStateWithVerifiedData
@@ -121,7 +119,7 @@ export function authStatusWebappEndpoint(router: Router, context: IRequiredConte
121
119
  status: overallState.status,
122
120
  ...(overallState.error ? { error: overallState.error?.message } : {}),
123
121
  correlationId,
124
- definitionId,
122
+ queryId,
125
123
  lastUpdated: overallState.lastUpdated,
126
124
  ...(responseState && responseState.status === AuthorizationResponseStateStatus.VERIFIED
127
125
  ? {
@@ -148,17 +146,17 @@ export function removeAuthRequestStateWebappEndpoint(router: Router, context: IR
148
146
  console.log(`removeAuthStatus Webapp endpoint is disabled`)
149
147
  return
150
148
  }
151
- const path = opts?.path ?? '/webapp/definitions/:definitionId/auth-requests/:correlationId'
149
+ const path = opts?.path ?? '/webapp/queries/:queryId/auth-requests/:correlationId'
152
150
  router.delete(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {
153
151
  try {
154
152
  const correlationId: string = request.params.correlationId
155
- const definitionId: string = request.params.definitionId
156
- if (!correlationId || !definitionId) {
157
- console.log(`No authorization request could be found for the given url. correlationId: ${correlationId}, definitionId: ${definitionId}`)
153
+ const queryId: string = request.params.queryId
154
+ if (!correlationId || !queryId) {
155
+ console.log(`No authorization request could be found for the given url. correlationId: ${correlationId}, queryId: ${queryId}`)
158
156
  return sendErrorResponse(response, 404, 'No authorization request could be found')
159
157
  }
160
158
  response.statusCode = 200
161
- return response.json(await context.agent.siopDeleteAuthState({ definitionId, correlationId }))
159
+ return response.json(await context.agent.siopDeleteAuthState({ queryId, correlationId }))
162
160
  } catch (error) {
163
161
  return sendErrorResponse(response, 500, error.message, error)
164
162
  }
@@ -170,7 +168,7 @@ export function getDefinitionsEndpoint(router: Router, context: IRequiredContext
170
168
  console.log(`getDefinitions Webapp endpoint is disabled`)
171
169
  return
172
170
  }
173
- const path = opts?.path ?? '/webapp/definitions'
171
+ const path = opts?.path ?? '/webapp/queries'
174
172
  router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {
175
173
  try {
176
174
  const definitions = await context.agent.pdmGetDefinitions()