config push: changing auth.oauth_server.authorization_url_path fails with 400 (enabled and path must be sent together)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- supabase, typescript
Línea de trabajo
Lee apps/cli/src/commands/config/push/push.encoders.ts en torno a las entradas del servidor OAuth y compáralas con los grupos que deben ir juntos para captcha, SMTP o auth hooks. Reproduce el push que solo cambia la ruta del issue y luego comprueba que el cuerpo de la solicitud codificada incluya el valor enabled actual junto con la ruta modificada. La tarea está terminada cuando la actualización se realiza correctamente sin desactivar el servidor OAuth; verifica también el caso inverso en el que solo cambia enabled.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Follow-up to #6367, which was closed as completed. On the new TypeScript CLI the diff half is fixed, but the push half still cannot change authorization_url_path on a project where the OAuth server is already enabled: the plan is correct, the request is rejected with a 400.
Version
supabase@next = 3.0.0-next.4 (via npx), Windows 11. Hosted project with oauth_server_enabled = true and oauth_server_authorization_path = "/oauth/consent".
Reproduce
supabase/config.toml, nothing else declared:
project_id = "<ref>"
[auth.oauth_server]
enabled = true
authorization_url_path = "/.lovable/oauth/consent"
supabase config push --project-ref <ref> --yes
Actual
Updating Auth service with config:
auth.oauth_server.authorization_url_path [update]
local: "/.lovable/oauth/consent"
remote: "/oauth/consent"
HTTP PATCH: https://api.supabase.com/v1/projects/<ref>/config/auth
ConfigPushAuthUpdateStatusError: unexpected status 400:
{"message":"Both OAUTH_SERVER_ENABLED and OAUTH_SERVER_AUTHORIZATION_PATH must be provided together when updating OAuth configuration"}
Nothing is written. config diff afterwards still reports the same update.
Expected
The path is updated. enabled is declared in the file and equals the remote value, so it is (correctly) not a change, but the Management API wants it in the same body as the path.
Likely cause
config push is diff-first and sends only changed fields. In apps/cli/src/commands/config/push/push.encoders.ts the three auth.oauth_server.* entries are plain scalar rows (source), not a required-together group like captcha, SMTP or the auth hooks, where an unchanged member is sent along with its current value. So a path-only change produces a body with oauth_server_authorization_path and no oauth_server_enabled.
Treating oauth_server_enabled + oauth_server_authorization_path as a required-together group should fix it. I have not checked whether the reverse case (changing only enabled) is rejected the same way; the error message suggests it is.
Why it matters
There is no CLI workaround that keeps the server up: the only way to make enabled part of the diff is to flip it, which takes the OAuth server down. On our project this path resets to /oauth/consent on its own from time to time (described in #6367), so being able to pin it from config.toml is the whole point.
Minor, related: with only authorization_url_path declared (no enabled = true), config diff lists the path under unmanaged and compares nothing. That follows ADR 0022, but the message does not say that declaring enabled = true is what makes it comparable.
Happy to test a build against a live project.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2.4k
- Forks
- 533
- Merge medio
- 1 d 5 h
- PR fusionados (30 d)
- 338
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
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 supabase/cli
-
db schema declarative sync: no way to fail (non-zero exit) when the generated migration is destructiveQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto✨ Feature supabase/cli
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
stack: the HTTP gateway closes idle keep-alive connections after 5 s, so a client whose event loop is blocked gets ECONNRESET (`fetch failed`) on its next requestPosiblemente ocupada @7ttp la tomó hace 11 días. Abierto🐛 Bug supabase/cli
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
supabase/cli#6975 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
📘 Docs supabase/cli
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
supabase/cli#6974 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Migration error caret is missing or misplaced when the statement contains multibyte charactersAbierto🐛 Bug supabase/cli
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
🐛 Bug supabase/cli
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
supabase/cli#7055 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de supabase/cli
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
homarr-labs/homarr#7191 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
AvaProtocol/ava-sdk-js#276 ·
Los mantenedores suelen responder en 1 día
-
useFragment does not require `variables` when the fragment's variables type has required fieldsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
apollographql/apollo-client#13493 ·
Los mantenedores suelen responder en 1 día