Merge pull request #1465 from fangzhengjin/alpha

fix: 当OIDC的AuthUrl带有param时,跳转参数拼接错误
This commit is contained in:
Calcium-Ion
2025-08-09 11:34:55 +08:00
committed by GitHub

View File

@@ -215,14 +215,16 @@ export async function getOAuthState() {
export async function onOIDCClicked(auth_url, client_id, openInNewTab = false) {
const state = await getOAuthState();
if (!state) return;
const redirect_uri = `${window.location.origin}/oauth/oidc`;
const response_type = 'code';
const scope = 'openid profile email';
const url = `${auth_url}?client_id=${client_id}&redirect_uri=${redirect_uri}&response_type=${response_type}&scope=${scope}&state=${state}`;
const url = new URL(auth_url);
url.searchParams.set('client_id', client_id);
url.searchParams.set('redirect_uri', `${window.location.origin}/oauth/oidc`);
url.searchParams.set('response_type', 'code');
url.searchParams.set('scope', 'openid profile email');
url.searchParams.set('state', state);
if (openInNewTab) {
window.open(url);
window.open(url.toString(), '_blank');
} else {
window.location.href = url;
window.location.href = url.toString();
}
}