Carta aos provedores de OAuth
(pilcrowonpaper.com)-
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_keyem vez declient_id - Não há motivo para fugir da especificação
- O servidor usa o parâmetro
-
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_secretpara 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
- Deveriam oferecer suporte à autenticação básica HTTP em vez do parâmetro
-
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
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...