[feat] 支持一个账户绑定多个第三方登录渠道,避免单渠道异常封号后账号与仓库绑定一起锁死
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 18/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Área
- authentication
Línea de trabajo
The payload names no files, tests or entry points, so first find where an account is created from a single OAuth identity and where the repository binding is attached to it. This is a design change: decide the account-to-identity model before writing code. Done means a second login provider can sign into the same account and see the same repository binding, and removing the last remaining provider is refused.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
问题
当前 AstrBot Cloud 的账户与第三方登录渠道(GitHub / Google / 邮箱等 OAuth 身份)是 1:1 关系:账户本身几乎就是由这个渠道身份标识出来的,仓库绑定也挂在同一条链路上。
这带来一个不可恢复的失效路径:
- 用户用渠道 A 登录并绑定了插件仓库 R;
- 渠道 A 的第三方账号被封禁 / 被删除 / OAuth 授权被撤销 / 该邮箱不可用;
- 用户再也无法登录 AstrBot Cloud —— 因为系统只认渠道 A;
- 于是连"进入后台把仓库 R 换绑到渠道 B"这个自救动作也做不到;
- 最终只能走人工,而人工换绑又缺少可信的身份校验手段,风险很高。
也就是说:第三方渠道的一次封号,会直接等价于 AstrBot Cloud 账户的永久丢失,并且连带丢掉仓库绑定与插件发布能力。 这不是罕见边界情况——封号、账号被盗后申诉失败、公司/组织账号变更都是真实高频场景。
期望行为
核心诉求:把"账户"和"登录方式"解耦,账户是唯一主体,渠道只是登录入口(1:N)。
- 一个 AstrBot Cloud 账户可以绑定 多个 渠道身份;
- 任意一个已绑定渠道都可以登录到 同一个 账户,进入的是同一套数据、同一套仓库绑定;
- 某个渠道失效(封号/撤销)后,用户仍可用其余渠道正常登录,并在登录状态下把当前绑定的仓库更换为另一个可用仓库;
- 反过来,用户也可以在登录状态下主动解绑不再使用的渠道;
- 关键保护:账户不允许解绑到 0 个渠道,避免账户变成无法登录的孤儿。
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 6
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de AstrBotDevs/astrbot-cloud-issues
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
给我解封吧求求了,我再也不乱发插件了Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 5/100
AstrBotDevs/astrbot-cloud-issues#32 · 2 comentarios ·
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 15/100
-
[Bug]Abiertobug
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
AstrBotDevs/astrbot-cloud-issues#29 · 2 comentarios ·
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
AstrBotDevs/astrbot-cloud-issues#28 · 3 comentarios ·
Todos los issues de AstrBotDevs/astrbot-cloud-issues
Issues similares
-
Mend: dependency security vulnerability untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
opensearch-project/k-NN#3693 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
HGInsights/hgi-cli#23 ·
Los mantenedores suelen responder en 1 día
-
dependencies
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
n0mad-ai/bastra-recall#1434 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
agentic-community/mcp-gateway-registry#2018 ·
Los mantenedores suelen responder en 1 día
-
P2 Team S Type: Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
google/site-kit-wp#14136 ·
Los mantenedores suelen responder en 2 días