Ele retorna um erro “404 não encontrado” com qualquer usuário que eu tente. Usando o mesmo URI, chave de API e nome de usuário, consigo obter categorias e grupos. Alguma sugestão?
@pfaffman Não entendi sua resposta, ela não contém uma resposta. Aquele tópico mostra como descobrir endpoints que não estão documentados. Este está, e é um dos poucos chamados de API que não podem ser revertidos dessa forma, já que esse endpoint de API específico nunca é chamado pelo frontend Ember?
@mpemburn deveria funcionar, a documentação parece correta. O ID externo é o ID no seu banco de dados remoto, que é passado quando você tem o SSO ativado. Você pode compartilhar seu código?
Ops. Na maioria das vezes, a resposta para “a documentação da API está quebrada, como faço para…” é o que eu vinculei. Olhando mais de perto, é dolorosamente óbvio que algo envolvendo IDs externos não pode ser acessado via UX. Sorte do Mark que você está prestando mais atenção!
Teoria #1: Na maioria das vezes (nem sempre), o ID externo é um ID de banco de dados e, portanto, um valor numérico. Tem certeza de que seu ID externo é mark89? O comando SingleSignOnRecord.find_by(external_id: 'mark89') retorna um registro no banco de dados?
Teoria #2: Seu site de staging não tem SSO ativado, o que geralmente anda de mãos dadas com IDs externos. Tem certeza de que os IDs externos estão presentes?
Espere… Seus cabeçalhos estão em um cookie? Isso não está correto… deveria ser assim:
Tentei a mesma solicitação usando o plugin Discourse do WordPress e ela também não funciona com ele, embora a solicitação para obter um usuário por e-mail funcione. Pensando que poderia ser um problema com nossa versão de sandbox do Discourse (que é com a qual tenho testado até agora), tentei em nossa instância de produção, e a história é a mesma. Não sei o que fazer a partir daqui, mas preciso realmente que isso funcione.
Você verificou as duas teorias que escrevi antes de perceber que você estava enviando os cabeçalhos de autenticação da maneira errada?
Teoria #1:
Na maioria das vezes (nem sempre), o ID externo é um ID de banco de dados e, portanto, um valor numérico. Tem certeza de que seu ID externo é mark89? SingleSignOnRecord.find_by(external_id: 'mark89') retorna um registro do banco de dados?
Teoria #2:
Seu site de staging não tem o SSO ativado, o que geralmente anda de mãos dadas com IDs externos. Tem certeza de que os IDs externos estão presentes?
Tudo bem, então o sandbox não tem SSO configurado, mas a produção sim. Verifiquei meu registro de usuário na produção e, sim, o external ID está definido e, de fato, é um ID numérico. Quando testei com as credenciais e URI de produção e o external ID real, retornou o mesmo erro 404.
Ah, e não tenho certeza de como testar SingleSignOnRecord.find_by(external_id: ‘mark89’). Onde fica essa funcionalidade?