Une valeur d'environnement périmée qui garantissait un échec de connexion
Google OAuth rejects LAN-IP redirect URIs outright, so a stale LAN address left in the redirect URI guaranteed login failure regardless of the IP being correct.
Deux copies ont divergé
Une idée tenue à la main à deux endroits — schéma et migration, dev et prod, app et app.
.env avait cinq références à une IP de LAN qui avait cessé de correspondre à l'adresse de cette machine à un moment. L'essentiel de l'application utilise localhost et marche dans les deux cas, donc la mauvaise valeur restait là à ne rien faire. Une des cinq était l'URI de redirection OAuth de Google, et Google rejette purement et simplement les URI de redirection en IP de LAN, que l'IP soit correcte ou non — donc la connexion Google était garantie d'échouer à l'instant où je l'essaierais, pour des raisons n'ayant rien à voir avec l'intégration OAuth.
Attrapé avant de gaspiller une session dessus parce que la base-URL de l'API mobile partageait la même IP périmée et était manifestement inatteignable, ce qui m'a fait vérifier les quatre autres. Une variable d'environnement qui d'habitude ne compte pas parce que la plupart des consommateurs retombent sur localhost est exactement le genre qui pourrit silencieusement, et quand elle finit par casser quelque chose ça ressemble à un bug dans cette fonctionnalité plutôt qu'à une ligne de config périmée cinq fonctionnalités plus loin.