@@ -35,6 +35,10 @@ export const extractCookie = (event: APIGatewayProxyEvent) => {
3535 return eventGraphiQLHeadersCookie ( event ) || eventHeadersCookie ( event )
3636}
3737
38+ function extractSessionFromHeader ( event : APIGatewayProxyEvent ) {
39+ return event . headers . authorization ?. split ( ' ' ) [ 1 ]
40+ }
41+
3842// decrypts the session cookie and returns an array: [data, csrf]
3943export const decryptSession = ( text : string | null ) => {
4044 if ( ! text || text . trim ( ) === '' ) {
@@ -83,11 +87,19 @@ export const dbAuthSession = (
8387 event : APIGatewayProxyEvent ,
8488 cookieNameOption : string | undefined
8589) => {
86- if ( extractCookie ( event ) ) {
90+ const cookieHeader = extractCookie ( event )
91+ const sessionInAuthHeader = extractSessionFromHeader ( event )
92+
93+ if ( cookieHeader && ! sessionInAuthHeader ) {
8794 const [ session , _csrfToken ] = decryptSession (
88- getSession ( extractCookie ( event ) , cookieNameOption )
95+ getSession ( cookieHeader , cookieNameOption )
8996 )
9097 return session
98+ } else if ( sessionInAuthHeader ) {
99+ const [ session , _csrfToken ] = decryptSession ( sessionInAuthHeader )
100+
101+ console . log ( `👉 \n ~ file: shared.ts:103 ~ session:` , session )
102+ return session
91103 } else {
92104 return null
93105 }
0 commit comments