Skip to content

Commit 79b63b6

Browse files
feat: implement cookie-based returnTo redirect for OAuth flow
1 parent 42af988 commit 79b63b6

1 file changed

Lines changed: 13 additions & 1 deletion

File tree

server/api/auth/atproto.get.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,15 @@ export default defineEventHandler(async event => {
1515
}
1616

1717
const query = getQuery(event)
18+
const returnTo = query.returnTo?.toString() || '/'
19+
20+
setCookie(event, 'auth_return_to', returnTo, {
21+
maxAge: 60 * 5,
22+
httpOnly: true,
23+
// secure only if NOT in dev mode
24+
secure: !import.meta.dev,
25+
})
26+
1827
const clientMetadata = getOauthClientMetadata()
1928
const { stateStore, sessionStore } = useOAuthStorage(event)
2029

@@ -60,5 +69,8 @@ export default defineEventHandler(async event => {
6069

6170
await session.update(miniDoc)
6271

63-
return sendRedirect(event, '/')
72+
const returnToURL = getCookie(event, 'auth_return_to') || '/'
73+
deleteCookie(event, 'auth_return_to')
74+
75+
return sendRedirect(event, returnToURL)
6476
})

0 commit comments

Comments
 (0)