Skip to content

Commit 0617311

Browse files
committed
return a some what user friendly error message
1 parent 860e8d7 commit 0617311

File tree

1 file changed

+21
-12
lines changed

1 file changed

+21
-12
lines changed

server/api/auth/atproto.get.ts

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,30 @@ export default defineEventHandler(async event => {
4040
})
4141

4242
if (!query.code) {
43-
const handle = query.handle?.toString()
44-
const create = query.create?.toString()
43+
try {
44+
const handle = query.handle?.toString()
45+
const create = query.create?.toString()
46+
47+
if (!handle) {
48+
throw createError({
49+
statusCode: 401,
50+
message: 'Handle not provided in query',
51+
})
52+
}
4553

46-
if (!handle) {
47-
throw createError({
48-
status: 400,
49-
message: 'Handle not provided in query',
54+
const redirectUrl = await atclient.authorize(handle, {
55+
scope,
56+
prompt: create ? 'create' : undefined,
5057
})
51-
}
58+
return sendRedirect(event, redirectUrl.toString())
59+
} catch (error) {
60+
const message = error instanceof Error ? error.message : 'Authentication failed.'
5261

53-
const redirectUrl = await atclient.authorize(handle, {
54-
scope,
55-
prompt: create ? 'create' : undefined,
56-
})
57-
return sendRedirect(event, redirectUrl.toString())
62+
return handleApiError(error, {
63+
statusCode: 401,
64+
message: `${message}. Please login and try again.`,
65+
})
66+
}
5867
}
5968

6069
const { session: authSession } = await atclient.callback(

0 commit comments

Comments
 (0)