diff --git a/src/api/gitea.ts b/src/api/gitea.ts index 7d117f5..c6a3529 100644 --- a/src/api/gitea.ts +++ b/src/api/gitea.ts @@ -5,6 +5,8 @@ export interface GiteaSessionConfig { BaseUrl: string Org: string OwnerRole: string + /** 免密登录入口(OIDC 跳转地址),配置 [gitea_oidc] 后存在 */ + SsoUrl?: string } /** 我的 Gitea 账号信息 */ diff --git a/src/views/gitea/Gitea.vue b/src/views/gitea/Gitea.vue index c989463..6f35203 100644 --- a/src/views/gitea/Gitea.vue +++ b/src/views/gitea/Gitea.vue @@ -47,6 +47,12 @@ async function init(): Promise { onMounted(init) +/** 免密登录 Gitea:跳转 Gitea 的 OIDC 入口,已登录 GERP 会话自动授权,无需输入 Gitea 密码 */ +function ssoLogin(): void { + if (!session.value?.SsoUrl) return + window.location.href = session.value.SsoUrl +} + async function submitApply(): Promise { const f = applyForm if (!/^[a-zA-Z0-9][a-zA-Z0-9._-]{2,38}$/.test(f.GiteaLogin)) { @@ -165,6 +171,9 @@ async function submitUploadAvatar(): Promise { 使用该用户名与密码直接登录,进行代码托管操作。