我们有一个应用程序将请求发送到 IBM Tivoli Netcool/OMNIbus 8.1 服务器的 ObjectServer REST API。http://1.2.3.4/objectserver/restapi/alerts/status?filter=Severity=5%20and%20Manager%20not%20like%20'^.*Watch$'
它发送带有以下 HTTP 标头的GET 请求:
Authorization: Basic DHCteF92S53fhUY6jlF=
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Content-Type: application/json
该请求在我们的开发环境中运行良好,并且 REST API 返回请求的警报信息。但是,在我们的测试环境中,REST API 返回“401 - 需要授权”错误。
Authorization 标头中的值DHCteF92S53fhUY6jlF=
似乎是某种身份验证令牌,并且在我们的应用程序中进行了硬编码。编写该代码的开发人员早已去世,我不知道该值是如何生成的。也许这对于我们的测试环境来说是不正确的,因此会出现 401 错误。该身份验证令牌是如何生成的?
任何东西都可以创建基本身份验证标头。它是该短语的 Base 64 编码值
username:password
。username:password
在您的测试环境中,对您要使用的帐户的当前内容进行 Base64 编码,并将其添加到标头中。如果您需要工具,可以使用如下网站:
https://base64decode.org/
https://www.debugbear.com/basic-auth-header-generator