You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python Requests调用Maximo API仍需SAML登录问题求助

排查Maximo 7.6.1.2 API Key无法绕过SAML登录的问题

以下是针对你遇到的API Key失效、被强制跳转到SAML登录的排查步骤:

1. 确认API Key的基础配置有效性

  • 要求管理员检查生成的API Key是否绑定了拥有Maximo REST API访问权限的用户:
    • 该用户必须属于MXAPIREST或其他包含API访问权限的安全组
    • 确认用户账号没有被配置为强制SAML登录(部分企业会给特定用户组启用SAML强制认证,API专用用户需要排除)
  • 查看Maximo APIKEY应用中对应Key的状态:必须为Active,且LASTUSED字段如果一直为空,说明请求根本没到达Maximo的API认证模块

2. 检查前端代理/服务器的认证规则

大部分企业会在Maximo前端部署反向代理(如IBM HTTP Server、Nginx),如果代理配置了全局SAML强制认证,需要确认:

  • 代理规则是否给/maximo/api路径添加了白名单,允许带apikey参数或请求头的请求绕过SAML认证
  • 确认Maximo应用服务器的web.xml文件中,APIKeyAuthenticator过滤器的优先级高于SAML相关过滤器,确保API Key认证先被执行

3. 调整API请求的参数位置

IBM文档允许apikey放在URL参数或请求头中,但部分Maximo配置仅识别请求头中的API Key,修改你的Python代码试试:

import requests

url = 'https://<mymaximohost>/maximo/api/os/mxapiwodetail?'
header = {
    "Accept": "application/json", 
    "Content-Type": "application/json", 
    "x-public-uri": "https://<mymaximohost>/maximo/api",
    "apikey": "<myapikey>"  # 将API Key移到请求头中
}

param = {"lean": 1}  # 移除params里的apikey参数
r = requests.get(url, headers=header, params=param, allow_redirects=False)

print(r.status_code)
print(r.content)

添加allow_redirects=False可以避免自动跳转到SAML页面,直接查看原始响应状态码和内容,帮助定位问题。

4. 跳过前端代理直接测试

如果有条件,直接访问Maximo应用服务器的端口(如默认9080),测试请求:

https://<mymaximohost>:9080/maximo/api/?apikey=<myapikey>

如果能正常返回API文档,说明问题出在前端代理的SAML认证规则配置上,需要管理员调整代理策略。

内容的提问来源于stack exchange,提问作者ZHOUC056

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 14:00:54