mirror of
https://github.com/woodchen-ink/Q58Connect.git
synced 2025-07-19 14:31:56 +08:00
refactor: Simplify Q58 OAuth callback authorization logic
This commit is contained in:
parent
c78b2141aa
commit
569ba4c186
@ -27,30 +27,13 @@ export default async function Q58CallbackPage({
|
|||||||
throw new Error("Client Id invalid (code: -1004).");
|
throw new Error("Client Id invalid (code: -1004).");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 检查应用是否被禁用
|
// verify discourse callback
|
||||||
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
|
|
||||||
const user = await q58CallbackVerify(searchParams.sso, searchParams.sig);
|
const user = await q58CallbackVerify(searchParams.sso, searchParams.sig);
|
||||||
|
|
||||||
// check authorization
|
// check authorization
|
||||||
const authorization = await findAuthorization(user.id, client.id);
|
const authorization = await findAuthorization(user.id, client.id);
|
||||||
|
|
||||||
if (authorization) {
|
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);
|
const redirectUrl = await getAuthorizeUrl(oauthParams);
|
||||||
return redirect(redirectUrl);
|
return redirect(redirectUrl);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user