Skip to content

Commit 4178ba5

Browse files
authored
Merge pull request #137 from auer-martin/fix/redirect_uri
fix: redirect uri should not be set with direct_post
2 parents 8af5f49 + 4720956 commit 4178ba5

1 file changed

Lines changed: 15 additions & 2 deletions

File tree

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

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

817
import { assertValidRequestObjectOpts } from './Opts'
918
import { assertValidRequestObjectPayload, createRequestObjectPayload } from './Payload'
@@ -93,7 +102,11 @@ export class RequestObject {
93102
} else if (jwtIssuer.method === 'x5c') {
94103
this.payload.iss = jwtIssuer.issuer
95104
this.payload.client_id = jwtIssuer.issuer
96-
this.payload.redirect_uri = jwtIssuer.issuer
105+
106+
if (this.opts.payload.response_mode !== ResponseMode.DIRECT_POST) {
107+
this.payload.redirect_uri = jwtIssuer.issuer
108+
}
109+
97110
this.payload.client_id_scheme = jwtIssuer.clientIdScheme
98111

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

0 commit comments

Comments
 (0)