如何在InvokeHTTP处理器中传递用户名密码调用nifi-api/token生成令牌
NiFi /nifi-api/token 接口正确授权方式
- 该接口要求使用HTTP Basic Authentication完成身份验证,不能通过请求参数、表单字段或JSON Body传递用户名密码。
- 具体步骤:
- 将用户名与密码用冒号拼接成字符串,格式为
用户名:密码 - 对拼接后的字符串进行Base64编码
- 在请求的
Authorization请求头中添加编码后的值,格式为Basic Base64编码字符串
- 将用户名与密码用冒号拼接成字符串,格式为
- 请求示例(curl命令):
注:curl -X POST "http://your-nifi-host:port/nifi-api/token" \ -H "Authorization: Basic dXNlcjE6cGFzc3dvcmQ=" \ -H "Content-Type: application/x-www-form-urlencoded"dXNlcjE6cGFzc3dvcmQ=是user1:password的Base64编码结果。 - 关键注意点:
- 请求方法必须为POST,不支持GET
- 必须设置
Content-Type请求头为application/x-www-form-urlencoded(即使请求Body为空) - 若NiFi启用HTTPS,需使用
https协议发起请求,自签名证书环境下可能需要添加忽略证书验证的参数(如curl的-k)
内容的提问来源于stack exchange,提问作者Shubham
相关产品推荐
相关产品推荐

