@@ -4,10 +4,6 @@ import { Dcql } from '../authorization-response'
44import { fetchByReferenceOrUseByValue , getClientIdentifierPrefix , removeNullUndefined } from '../helpers'
55import { authorizationRequestVersionDiscovery } from '../helpers/SIOPSpecVersion'
66import { RequestObject } from '../request-object'
7- import { assertValidAuthorizationRequestOpts , assertValidVerifyAuthorizationRequestOpts } from './Opts'
8- import { assertValidRPRegistrationMedataPayload , createAuthorizationRequestPayload } from './Payload'
9- import { URI } from './URI'
10- import { CreateAuthorizationRequestOpts , VerifyAuthorizationRequestOpts } from './types'
117import {
128 AuthorizationRequestPayload ,
139 ClientIdentifierPrefix ,
@@ -24,6 +20,10 @@ import {
2420 SupportedVersion ,
2521 VerifiedAuthorizationRequest ,
2622} from '../types'
23+ import { assertValidAuthorizationRequestOpts , assertValidVerifyAuthorizationRequestOpts } from './Opts'
24+ import { assertValidRPRegistrationMedataPayload , createAuthorizationRequestPayload } from './Payload'
25+ import { CreateAuthorizationRequestOpts , VerifyAuthorizationRequestOpts } from './types'
26+ import { URI } from './URI'
2727
2828export class AuthorizationRequest {
2929 private readonly _requestObject ?: RequestObject
@@ -199,6 +199,14 @@ export class AuthorizationRequest {
199199 // TODO: we need to verify somewhere that if response_mode is direct_post, that the response_uri may be present,
200200 // BUT not both redirect_uri and response_uri. What is the best place to do this?
201201
202+ if ( mergedPayload . presentation_definition || mergedPayload . presentation_definition_uri ) {
203+ return Promise . reject (
204+ Error (
205+ `${ SIOPErrors . INVALID_REQUEST } , The verifier is using a older draft implementation that is not supported. The verifier should update (DCQL instead of PE)` ,
206+ ) ,
207+ )
208+ }
209+
202210 const dcqlQuery = await Dcql . findValidDcqlQuery ( mergedPayload , this . _options ?. version )
203211
204212 return {
0 commit comments