Olá, espero receber algumas orientações. Meu SSO parou de funcionar esta semana e achei que tivesse resolvido tudo ontem (estava funcionando, juro
Nota: verifiquei a seção “Novos Usuários” de ontem e de hoje, e havia novos usuários em ambos os dias (após a correção), mas agora está quebrado novamente…). Infelizmente, as atualizações que fiz não estão funcionando hoje.
Problema: Usuários não conseguem criar novas contas e usuários que fazem logout não conseguem fazer login novamente.
Percebi que meu servidor Discourse está retornando erros 400 nas seguintes rotas:
403: GET : discourse-url/users/by-external/USER-ID.json?
Nota: Recentemente descobri na documentação da API que essa rota não existe? (embora tenha funcionado antes), parece que a rota correta é: https://discourse.example.com/u/by-external/{external_id}.json
404: POST: discourse-url/admin/users/sync_sso?
O motivo do ponto de interrogação ? no final é que tenho um campo de parâmetro opcional em uma função que gera URLs; para essas duas rotas, todos os dados são enviados no corpo do formulário ou nos cabeçalhos.
Estou usando a seguinte biblioteca.
O que atualizei (e o que achei que tivesse resolvido o problema):
Em todas as minhas solicitações, eu enviava a Api-Key e o Api-Username como parâmetros de consulta. Nos últimos meses, notei no meu painel de administração um aviso indicando que estava usando cabeçalhos desatualizados na minha solicitação. O aviso me levou a este post, e os detalhes principais são:
Aviso de Depreciação!
Em 6 de abril de 2020, removemos o suporte para toda autenticação baseada em parâmetros não cabeçalhos HTTP (exceto algumas rotas de RSS, recebimento de e-mail e ICS). Isso significa que solicitações de API que possuemapi_keyeapi_usernamenos parâmetros de consulta ou no corpo HTTP da solicitação deixarão de funcionar em breve. Consulte o exemplo de solicitação cURL abaixo para saber como atualizar suas solicitações de API para usar cabeçalhos HTTP para autenticação.
Atualizei todas as minhas solicitações; agora, todas elas têm a Api-Key e o Api-Username no cabeçalho e o tipo de conteúdo está definido como multipart/form-data.
Se alguém puder oferecer orientações sobre o que investigar para depurar esse problema, ficaria muito grato. Tenho quase 100% de certeza de que isso estava funcionando no final do meu expediente ontem; consegui fazer login e logout na minha conta e também criar novas contas.
Por favor, me avise se precisar de mais informações. Obrigado!