Skip to content

Commit

Permalink
NOT WORKING: try extracting session passed into a cookie
Browse files Browse the repository at this point in the history
  • Loading branch information
dac09 committed Oct 26, 2023
1 parent 9e86135 commit 5f1deed
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 7 deletions.
16 changes: 14 additions & 2 deletions packages/auth-providers/dbAuth/api/src/shared.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ export const extractCookie = (event: APIGatewayProxyEvent) => {
return eventGraphiQLHeadersCookie(event) || eventHeadersCookie(event)
}

function extractSessionFromHeader(event: APIGatewayProxyEvent) {
return event.headers.authorization?.split(' ')[1]
}

// decrypts the session cookie and returns an array: [data, csrf]
export const decryptSession = (text: string | null) => {
if (!text || text.trim() === '') {
Expand Down Expand Up @@ -83,11 +87,19 @@ export const dbAuthSession = (
event: APIGatewayProxyEvent,
cookieNameOption: string | undefined
) => {
if (extractCookie(event)) {
const cookieHeader = extractCookie(event)
const sessionInAuthHeader = extractSessionFromHeader(event)

if (cookieHeader && !sessionInAuthHeader) {
const [session, _csrfToken] = decryptSession(
getSession(extractCookie(event), cookieNameOption)
getSession(cookieHeader, cookieNameOption)
)
return session
} else if (sessionInAuthHeader) {
const [session, _csrfToken] = decryptSession(sessionInAuthHeader)

console.log(`👉 \n ~ file: shared.ts:103 ~ session:`, session)
return session
} else {
return null
}
Expand Down
11 changes: 10 additions & 1 deletion packages/auth/src/AuthProvider/AuthProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,16 @@ export function createAuthProvider<
signUp,
logIn,
logOut,
getToken,
getToken:
typeof window === 'undefined'
? async () => {
console.log(
'xxxxx definitely calling this function',
serverAuthState
)
return serverAuthState.token || null
}
: getToken,
getCurrentUser,
hasRole,
reauthenticate,
Expand Down
4 changes: 2 additions & 2 deletions packages/auth/src/AuthProvider/ServerAuthProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type { AuthProviderState } from './AuthProviderState'
import { defaultAuthProviderState } from './AuthProviderState'

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

export const ServerAuthProvider = ServerAuthContext.Provider
3 changes: 1 addition & 2 deletions packages/vite/src/streaming/streamHelpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ interface RenderToStreamArgs {
cssLinks: string[]
isProd: boolean
jsBundles?: string[]
authState?: AuthProviderState<never> | undefined
authState: AuthProviderState<never> & { token: string | null }
}

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

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

0 comments on commit 5f1deed

Please sign in to comment.