Temos um aplicativo que envia uma solicitação para uma API REST ObjectServer do servidor IBM Tivoli Netcool/OMNIbus 8.1. Ele envia uma solicitação GET http://1.2.3.4/objectserver/restapi/alerts/status?filter=Severity=5%20and%20Manager%20not%20like%20'^.*Watch$'
com os seguintes cabeçalhos HTTP:
Authorization: Basic DHCteF92S53fhUY6jlF=
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Content-Type: application/json
A solicitação funciona bem em nosso ambiente de desenvolvimento e a API REST retorna as informações de alerta solicitadas. No entanto, em nosso ambiente de teste, a API REST retorna um erro “401 – Autorização necessária”.
O DHCteF92S53fhUY6jlF=
valor no cabeçalho Authorization parece ser algum tipo de token de autenticação e está codificado em nosso aplicativo. O desenvolvedor que escreveu esse código já se foi e não tenho ideia de como esse valor é gerado. Talvez esteja incorreto para nosso ambiente de teste e, portanto, o erro 401. Como esse token de autenticação é gerado?
Qualquer coisa pode criar o cabeçalho de autenticação Básica. É o valor codificado na base 64 da
username:password
frase.Em seu ambiente de teste, codifique em base64 o atual
username:password
da conta que você deseja usar e adicione-o ao cabeçalho.Você pode usar um site como o seguinte se precisar de uma ferramenta:
https://base64decode.org/
https://www.debugbear.com/basic-auth-header-generator