refactor: Simplify Q58 OAuth callback authorization logic

This commit is contained in:
wood chen 2025-02-23 02:23:56 +08:00
parent c78b2141aa
commit 569ba4c186

View File

@ -27,30 +27,13 @@ export default async function Q58CallbackPage({
throw new Error("Client Id invalid (code: -1004).");
}
// 检查应用是否被禁用
if (!client.enabled) {
const redirectUri = client.redirectUri;
const redirectUrl = new URL(redirectUri);
redirectUrl.searchParams.set("error", "access_denied");
redirectUrl.searchParams.set("error_description", "该应用已被禁用");
return redirect(redirectUrl.toString());
}
// verify q58 callback
// verify discourse callback
const user = await q58CallbackVerify(searchParams.sso, searchParams.sig);
// check authorization
const authorization = await findAuthorization(user.id, client.id);
if (authorization) {
// 如果授权被禁用,也返回错误
if (!authorization.enabled) {
const redirectUrl = new URL(client.redirectUri);
redirectUrl.searchParams.set("error", "access_denied");
redirectUrl.searchParams.set("error_description", "您的授权已被禁用");
return redirect(redirectUrl.toString());
}
const redirectUrl = await getAuthorizeUrl(oauthParams);
return redirect(redirectUrl);
}