Skip to content

Commit 2fd8a5b

Browse files
committed
Forward initial session status to signed out object
1 parent e6ff151 commit 2fd8a5b

File tree

4 files changed

+10
-6
lines changed

4 files changed

+10
-6
lines changed

packages/backend/src/tokens/authObjects.ts

+7-3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import type {
55
JwtPayload,
66
ServerGetToken,
77
ServerGetTokenOptions,
8+
SessionStatusClaim,
89
SharedSignedInAuthObjectProperties,
910
} from '@clerk/types';
1011

@@ -37,7 +38,7 @@ export type SignedInAuthObject = SharedSignedInAuthObjectProperties & {
3738
export type SignedOutAuthObject = {
3839
sessionClaims: null;
3940
sessionId: null;
40-
sessionStatus: null;
41+
sessionStatus: SessionStatusClaim | null;
4142
actor: null;
4243
userId: null;
4344
orgId: null;
@@ -113,11 +114,14 @@ export function signedInAuthObject(
113114
/**
114115
* @internal
115116
*/
116-
export function signedOutAuthObject(debugData?: AuthObjectDebugData): SignedOutAuthObject {
117+
export function signedOutAuthObject(
118+
debugData?: AuthObjectDebugData,
119+
initialSessionStatus?: SessionStatusClaim,
120+
): SignedOutAuthObject {
117121
return {
118122
sessionClaims: null,
119123
sessionId: null,
120-
sessionStatus: null,
124+
sessionStatus: initialSessionStatus ?? null,
121125
userId: null,
122126
actor: null,
123127
orgId: null,

packages/backend/src/tokens/authStatus.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ export function signedIn(
102102
// @ts-expect-error Dynamically return `SignedOutAuthObject` based on options
103103
toAuth: ({ treatPendingAsSignedOut = true } = {}) => {
104104
if (treatPendingAsSignedOut && authObject.sessionStatus === 'pending') {
105-
return signedOutAuthObject();
105+
return signedOutAuthObject(undefined, authObject.sessionStatus);
106106
}
107107

108108
return authObject;

packages/nextjs/src/server/createGetAuth.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export const createAsyncGetAuth = ({
5353
/**
5454
* Previous known as `createGetAuth`. We needed to create a sync and async variant in order to allow for improvements
5555
* that required dynamic imports (using `require` would not work).
56-
* It powers the synchronous top-level api `getAuh()`.
56+
* It powers the synchronous top-level api `getAuth()`.
5757
*/
5858
export const createSyncGetAuth = ({
5959
debugLoggerName,

packages/nextjs/src/server/data/getAuthDataFromRequest.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export function getAuthDataFromRequest(
5959
}
6060

6161
if (treatPendingAsSignedOut && authObject.sessionStatus === 'pending') {
62-
authObject = signedOutAuthObject(options);
62+
authObject = signedOutAuthObject(options, authObject.sessionStatus);
6363
}
6464

6565
return authObject;

0 commit comments

Comments
 (0)