Skip to content

Commit 42c8ddd

Browse files
committed
fix: redirect uri should not be set with direct_post
1 parent 45c4672 commit 42c8ddd

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

packages/siop-oid4vp/lib/request-object/RequestObject.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,15 @@ import { ClaimPayloadCommonOpts, ClaimPayloadOptsVID1, CreateAuthorizationReques
22
import { assertValidAuthorizationRequestOpts } from '../authorization-request/Opts'
33
import { fetchByReferenceOrUseByValue, removeNullUndefined } from '../helpers'
44
import { parseJWT } from '../helpers/jwtUtils'
5-
import { AuthorizationRequestPayload, JwtIssuer, JwtIssuerWithContext, RequestObjectJwt, RequestObjectPayload, SIOPErrors } from '../types'
5+
import {
6+
AuthorizationRequestPayload,
7+
JwtIssuer,
8+
JwtIssuerWithContext,
9+
RequestObjectJwt,
10+
RequestObjectPayload,
11+
ResponseMode,
12+
SIOPErrors,
13+
} from '../types'
614

715
import { assertValidRequestObjectOpts } from './Opts'
816
import { assertValidRequestObjectPayload, createRequestObjectPayload } from './Payload'
@@ -92,7 +100,11 @@ export class RequestObject {
92100
} else if (jwtIssuer.method === 'x5c') {
93101
this.payload.iss = jwtIssuer.issuer
94102
this.payload.client_id = jwtIssuer.issuer
95-
this.payload.redirect_uri = jwtIssuer.issuer
103+
104+
if (this.opts.payload.response_mode !== ResponseMode.DIRECT_POST) {
105+
this.payload.redirect_uri = jwtIssuer.issuer
106+
}
107+
96108
this.payload.client_id_scheme = jwtIssuer.clientIdScheme
97109

98110
const header = { x5c: jwtIssuer.x5c, typ: 'JWT' }

0 commit comments

Comments
 (0)