Skip to content

Commit 5f1deed

Browse files
committed
NOT WORKING: try extracting session passed into a cookie
1 parent 9e86135 commit 5f1deed

File tree

4 files changed

+27
-7
lines changed

4 files changed

+27
-7
lines changed

packages/auth-providers/dbAuth/api/src/shared.ts

+14-2
Original file line numberDiff line numberDiff line change
@@ -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]
3943
export 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
}

packages/auth/src/AuthProvider/AuthProvider.tsx

+10-1
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,16 @@ export function createAuthProvider<
147147
signUp,
148148
logIn,
149149
logOut,
150-
getToken,
150+
getToken:
151+
typeof window === 'undefined'
152+
? async () => {
153+
console.log(
154+
'xxxxx definitely calling this function',
155+
serverAuthState
156+
)
157+
return serverAuthState.token || null
158+
}
159+
: getToken,
151160
getCurrentUser,
152161
hasRole,
153162
reauthenticate,

packages/auth/src/AuthProvider/ServerAuthProvider.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import type { AuthProviderState } from './AuthProviderState'
44
import { defaultAuthProviderState } from './AuthProviderState'
55

66
export const ServerAuthContext = React.createContext<
7-
AuthProviderState<never> | undefined
8-
>(defaultAuthProviderState)
7+
AuthProviderState<never> & { token: string | null }
8+
>({ ...defaultAuthProviderState, token: null })
99

1010
export const ServerAuthProvider = ServerAuthContext.Provider

packages/vite/src/streaming/streamHelpers.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ interface RenderToStreamArgs {
2828
cssLinks: string[]
2929
isProd: boolean
3030
jsBundles?: string[]
31-
authState?: AuthProviderState<never> | undefined
31+
authState: AuthProviderState<never> & { token: string | null }
3232
}
3333

3434
interface StreamOptions {
@@ -51,7 +51,6 @@ export async function reactRenderToStreamResponse(
5151
jsBundles = [],
5252
authState,
5353
} = renderOptions
54-
console.log(`👉 \n ~ file: streamHelpers.ts:54 ~ authState:`, authState)
5554

5655
if (!isProd) {
5756
// For development, we need to inject the react-refresh runtime

0 commit comments

Comments
 (0)