Quando um servidor permite o acesso via autenticação HTTP básica, qual é a experiência esperada em um navegador da web ?
Ignorando o navegador da web por um momento, veja como criar uma solicitação de autenticação básica com curl
:
curl -u myusername:mypassword http://somesite.com
Mas e em um navegador da Web? O que vi em alguns sites é visitar o URL e, em seguida, o servidor retorna o código de resposta 401. O navegador exibe um prompt de nome de usuário / senha.
No entanto, em somesite.com, não estou recebendo nenhum aviso de autorização, apenas uma página que diz que não estou autorizado. Algum site não implementou o fluxo de trabalho de autenticação básica corretamente ou há outra coisa que preciso fazer?
basic-authentication
bpapa
fonte
fonte
Respostas:
Para ajudar todos a evitar confusões, vou reformular a questão em duas partes.
Primeiro: "como fazer uma solicitação HTTP autenticada com um navegador usando a autenticação BASIC?".
No navegador, você pode fazer uma autenticação básica http primeiro, aguardando o prompt chegar ou editando o URL se você seguir este formato:
http://myusername:[email protected]
Nota: o comando curl mencionado na pergunta é perfeitamente adequado, se você tiver uma linha de comando e um curl instalados. ;)
Referências:
Também de acordo com a página do manual CURL https://curl.haxx.se/docs/manual.html
A segunda e verdadeira pergunta é "No entanto, no somesite.com, não estou recebendo nenhum aviso de autorização, apenas uma página que diz que não estou autorizado. Algum site não implementou o fluxo de trabalho de autenticação básica corretamente ou há algo mais eu preciso fazer? "
A documentação do curl diz que a
-u
opção suporta muitos métodos de autenticação, sendo o básico o padrão.fonte
Você tentou ?
fonte
Você pode ter um nome de usuário / senha inválido antigo em cache no seu navegador. Tente limpá-los e verifique novamente.
Se você estiver usando o IE e o somesite.com estiver na sua zona de segurança da Intranet, o IE poderá enviar suas credenciais do Windows automaticamente.
fonte
WWW-Authenticate header
Você também pode obtê-lo se o servidor estiver enviando um código de resposta 401, mas não configurando o cabeçalho WWW-Authenticate corretamente - eu deveria saber, acabei de corrigir isso no próprio código porque os aplicativos VB não estavam aparecendo o prompt de autenticação.
fonte
Se não houver credenciais fornecidas nos cabeçalhos da solicitação, a seguir é a resposta mínima necessária para o IE solicitar ao usuário credenciais e reenviar a solicitação.
fonte
Você pode usar o Postman, um plugin para o chrome. Permite escolher o tipo de autenticação necessário para cada uma das solicitações. Nesse menu, você pode configurar usuário e senha. O Postman converterá automaticamente a configuração em um cabeçalho de autenticação que será enviado com sua solicitação.
fonte