File tree Expand file tree Collapse file tree 1 file changed +17
-13
lines changed
apps/web/app/api/auth/saml/callback Expand file tree Collapse file tree 1 file changed +17
-13
lines changed Original file line number Diff line number Diff line change @@ -9,23 +9,27 @@ import type { SAMLResponsePayload } from "@calcom/features/ee/sso/lib/jackson";
9
9
import logger from "@calcom/lib/logger" ;
10
10
11
11
async function handler ( req : NextRequest ) {
12
- const log = logger . getSubLogger ( { prefix : [ "[SAML callback]" ] } ) ;
12
+ const uid = uuid ( ) ;
13
+ const log = logger . getSubLogger ( { prefix : [ "[SAML callback]" , `trace: ${ uid } ` ] } ) ;
13
14
const { oauthController } = await jackson ( ) ;
14
15
15
16
const requestData = ( await parseRequestData ( req ) ) as SAMLResponsePayload ;
16
17
17
- const { redirect_url, error } = await oauthController . samlResponse ( requestData ) ;
18
-
19
- if ( redirect_url ) {
20
- return NextResponse . redirect ( redirect_url , 302 ) ;
21
- }
22
-
23
- if ( error ) {
24
- const uid = uuid ( ) ;
25
- log . error (
26
- `Error authenticating user with error ${ error } for relayState ${ requestData ?. RelayState } trace:${ uid } `
27
- ) ;
28
- return NextResponse . json ( { message : `Error authorizing user. trace: ${ uid } ` } , { status : 400 } ) ;
18
+ try {
19
+ const { redirect_url, error } = await oauthController . samlResponse ( requestData ) ;
20
+
21
+ if ( redirect_url ) {
22
+ return NextResponse . redirect ( redirect_url , 302 ) ;
23
+ }
24
+
25
+ if ( error ) {
26
+ const uid = uuid ( ) ;
27
+ log . error ( `Error authenticating user with error ${ error } for relayState ${ requestData ?. RelayState } ` ) ;
28
+ return NextResponse . json ( { message : `Error authorizing user. trace: ${ uid } ` } , { status : 400 } ) ;
29
+ }
30
+ } catch ( error ) {
31
+ log . error ( `Error processing SAML response` , error ) ;
32
+ return NextResponse . json ( { message : `Error processing SAML response. trace: ${ uid } ` } , { status : 500 } ) ;
29
33
}
30
34
31
35
return NextResponse . json ( { message : "No redirect URL provided" } , { status : 400 } ) ;
You can’t perform that action at this time.
0 commit comments