1 puntos por GN⁺ 2024-12-13 | 1 comentarios | Compartir por WhatsApp
  • Carta a los proveedores de OAuth

    • GitHub

      • El endpoint de token devuelve un código de estado 200 incluso cuando hay errores
      • Las respuestas de error deberían usar códigos de estado 400 o 401
    • Facebook

      • El endpoint de token devuelve una respuesta de error personalizada
      • Debería ser un objeto JSON con un campo de error
    • TikTok

      • El servidor usa el parámetro client_key en lugar de client_id
      • No hay razón para apartarse de la especificación
    • Strava

      • El servidor usa una lista separada por comas para el parámetro de alcance
      • Debería ser una lista separada por espacios
    • Naver

      • El servidor devuelve el tiempo de expiración del token como una cadena
      • Es un problema que va más allá del cumplimiento de la especificación
    • Varios proveedores de OAuth

      • Deberían admitir autenticación básica HTTP en lugar del parámetro client_secret para la autenticación del cliente
      • En el estándar OAuth 2.1, la autenticación básica HTTP es opcional, pero aun cuando se exige PKCE, la mayoría de los proveedores no la usan
    • AWS

      • Se recibieron varios reportes de bugs al usarlo con bibliotecas cliente de OAuth, pero como no fue posible reproducir el problema, se eliminó el contenido relacionado

1 comentarios

 
rikko 2024-12-13

Tengo la experiencia de haber pasado un mes entero solo implementando la funcionalidad de OAuth (OIDC) mientras construía un proyecto de servicios gubernamentales para la ciudadanía...

Como no podía usar librerías externas, tuve que implementar todo a mano, y aparte de Kakao o Google, no había nadie que cumpliera correctamente con el estándar OAuth...

Lo de Naver era más bien de "mientras el login funcione, no hay problema", al punto de que hasta dudaba si se podía usar así, y Apple requería más de 3 veces el código de implementación del código OAuth existente, al grado de que incluso ahora no recuerdo cómo demonios lo implementé.

También había casos, como en el texto principal, donde los códigos de respuesta eran un desastre, y hasta hubo proveedores que respondían con 418 (I'm a teapot).
Por experiencias así, aunque funciones como el inicio de sesión social sean cómodas, termino prefiriendo no usarlas...