Skip to content

Commit 4ba09a6

Browse files
committed
fix: set token cookie on login for OAuth authorize flow
1 parent d05b36c commit 4ba09a6

File tree

2 files changed

+23
-3
lines changed

2 files changed

+23
-3
lines changed

src/app/api/auth/login/route.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,15 +106,25 @@ export async function POST(request: NextRequest) {
106106
);
107107
}
108108

109-
// Return success response
110-
return NextResponse.json(
109+
// Return success response with session cookie (needed for OAuth authorize flow)
110+
const response = NextResponse.json(
111111
{
112112
success: true,
113113
merchant: result.merchant,
114114
token: result.token,
115115
},
116116
{ status: 200 }
117117
);
118+
119+
response.cookies.set('token', result.token!, {
120+
httpOnly: true,
121+
secure: process.env.NODE_ENV === 'production',
122+
sameSite: 'lax',
123+
path: '/',
124+
maxAge: 7 * 24 * 60 * 60, // 7 days
125+
});
126+
127+
return response;
118128
} catch (error) {
119129
console.error('Login error:', error);
120130
return NextResponse.json(

src/app/api/auth/webauthn/login-verify/route.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ export async function POST(request: NextRequest) {
132132
'24h'
133133
);
134134

135-
return NextResponse.json({
135+
const response = NextResponse.json({
136136
success: true,
137137
token,
138138
merchant: {
@@ -141,4 +141,14 @@ export async function POST(request: NextRequest) {
141141
is_admin: merchant.is_admin,
142142
},
143143
});
144+
145+
response.cookies.set('token', token, {
146+
httpOnly: true,
147+
secure: process.env.NODE_ENV === 'production',
148+
sameSite: 'lax',
149+
path: '/',
150+
maxAge: 7 * 24 * 60 * 60, // 7 days
151+
});
152+
153+
return response;
144154
}

0 commit comments

Comments
 (0)