1 pontos por GN⁺ 2024-12-13 | 1 comentários | Compartilhar no WhatsApp
  • Carta aos provedores de OAuth

    • GitHub

      • O endpoint de token retorna código de status 200 mesmo em caso de erro
      • Respostas de erro deveriam usar código de status 400 ou 401
    • Facebook

      • O endpoint de token retorna uma resposta de erro personalizada
      • Deveria ser um objeto JSON com um campo de erro
    • TikTok

      • O servidor usa o parâmetro client_key em vez de client_id
      • Não há motivo para fugir da especificação
    • Strava

      • O servidor usa uma lista separada por vírgulas no parâmetro de escopo
      • Deveria ser uma lista separada por espaços
    • Naver

      • O servidor retorna o tempo de expiração do token como string
      • É um problema que vai além da conformidade com a especificação
    • Vários provedores de OAuth

      • Deveriam oferecer suporte à autenticação básica HTTP em vez do parâmetro client_secret para autenticação do cliente
      • No padrão OAuth 2.1, a autenticação básica HTTP é opcional, mas o PKCE é exigido; ainda assim, a maioria dos provedores não a utiliza
    • AWS

      • Ao usar com bibliotecas cliente OAuth, houve vários relatos de bugs, mas como não foi possível reproduzir o problema, o conteúdo relacionado foi removido

1 comentários

 
rikko 2024-12-13

Ao construir um projeto de serviços públicos para atendimento ao cidadão, já tive a experiência de gastar um mês inteiro só implementando a funcionalidade de OAuth (OIDC)...

Como não era possível usar bibliotecas externas, tive que implementar tudo manualmente, e além de Kakao e Google, praticamente ninguém seguia o padrão OAuth corretamente...

A Naver era daquele nível de “se o login funciona, então não tem problema”, a ponto de eu nem saber se dava para usar aquilo, e a Apple exigiu mais de 3 vezes o código de implementação do OAuth existente, a ponto de eu nem lembrar hoje como consegui implementar.

Como no texto acima, às vezes os códigos de resposta eram uma bagunça completa, e teve provedor que chegou ao ponto de responder com 418 (I'm a teapot).
Por ter passado por experiências assim, eu acabei deixando de usar até funcionalidades convenientes como login social...