OAuth 2.0: lo que no dice la doc
Migrando una integración entre APIs me topé con un par de detalles del flujo OAuth 2.0 que la documentación no deja claros. Los apunto aquí, sobre todo para el yo del futuro que vuelva a tocar esto.
El refresh token no siempre viene
El primer intercambio de código por tokens devuelve access_token y
refresh_token. Pero en algunos renovados posteriores el refresh_token no
vuelve a aparecer, así que si sobrescribes el que tenías con un null, te quedas
sin poder renovar. Regla: solo actualiza el refresh token si el nuevo viene
informado.
Aísla el proveedor detrás de una interfaz
La lección de arquitectura: no dejes que el modelo de dominio sepa de qué proveedor vienen los datos. Una interfaz común y un adaptador por proveedor. El día que cambias de API, tocas un archivo, no toda la app.
Nota mental: lo que un día es un dolor de cabeza, al siguiente es contenido para el blog. Documentar el fallo vale más que ocultarlo.