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

Ni-Fi API调用始终返回Unauthorized问题排查求助

Ni-Fi API调用始终返回"Unauthorized"问题排查与解决

问题现象

  • 未获取访问令牌时执行请求:
    curl -k -XGET https://127.0.0.1:8448/nifi-api/resources
    
    返回不可读控制字符(如UCC@BBP)。
  • 获取令牌后携带Authorization头请求:
    curl -k -XGET -H 'Authorization: Bearer token-returned' https://127.0.0.1:8448/nifi-api/resources
    
    返回错误:
    Unauthorized error="invalid_token", error_description="An error occurred while attempting to decode the Jwt: Invalid JWT serialization: Missing dot delimiter(s)", error_uri="https://tools.ietf.org/html/rfc6750#section-3.1"
    
  • 移除Authorization头后,仅返回"Unauthorized",无详细错误信息。
  • 令牌获取请求:
    curl -k 'https://127.0.0.1:8448/nifi-api/access/token' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' --data 'username=(Generated Username from nifi-app.log)&password=(Generated Password from nifi-app.log)' --compressed --insecure
    
  • 所有请求在nifi-request.log中均记录401错误码。

原因分析

  1. 未带令牌返回乱码:Ni-Fi未授权响应默认可能采用gzip压缩,curl未自动解码导致显示控制字符,核心问题是未授权。
  2. JWT格式错误:获取到的令牌不是标准三段式JWT(缺少.分隔符),大概率是令牌获取过程异常:
    • 用户名/密码错误,返回的不是有效JWT而是错误文本;
    • --compressed参数导致令牌被压缩损坏;
    • 复制令牌时混入多余字符(如换行、空格)。
  3. 无详情的Unauthorized响应:这是Ni-Fi默认的未授权行为,符合系统设定。

解决方案

步骤1:重新获取有效令牌

去掉--compressed参数,避免压缩损坏令牌内容,重新执行获取请求:

curl -k 'https://127.0.0.1:8448/nifi-api/access/token' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' --data 'username=从nifi-app.log提取的用户名&password=从nifi-app.log提取的密码' --insecure
  • 检查返回结果:标准Ni-Fi JWT为xxxx.yyyy.zzzz三段式结构。如果返回Invalid credentials,说明凭据错误,需重新从nifi-app.log中提取(注意日志中Generated Username:和Generated Password:后的内容,不要包含多余空格或换行)。

步骤2:验证令牌格式

复制获取到的令牌,确认是三段式结构,无多余字符。如果不是,重复步骤1排查凭据是否正确。

步骤3:正确携带令牌调用API

使用有效令牌发起请求,确保Authorization头格式正确(Bearer后有空格,令牌无多余字符):

curl -k -XGET -H 'Authorization: Bearer 实际获取的三段式JWT' https://127.0.0.1:8448/nifi-api/resources --insecure

如果仍返回乱码,添加--compressed参数让curl自动解码响应:

curl -k -XGET -H 'Authorization: Bearer 实际获取的三段式JWT' https://127.0.0.1:8448/nifi-api/resources --insecure --compressed

步骤4:排查Ni-Fi配置(若上述步骤无效)

  • 打开nifi.properties文件,检查nifi.security.user.authentication.strategy是否为single-user(单用户模式下初始凭据即可)或ldap(需确认LDAP配置正确)。
  • 确认nifi.web.https.port配置为8448,避免端口错误。
  • 查看nifi-app.log中是否有认证服务相关的错误日志,排查服务运行状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 22:05:10