1
我正尝试使用在安全模式下运行的WPF应用程序打开NIFI。 分析后发现只有打开受保护的网址的基本授权只有在下面的链接给出的选项。 https://social.msdn.microsoft.com/Forums/windows/en-US/21674c95-7389-46e2-abc3-7019556e2eb0/basic-authentication-in-webbrowser-control?forum=winforms无法在安全模式下从wpf应用程序打开NIFI URL
这不适用于NIFI,我们在这里使用“不记名令牌”。
public static void NavigateWithAuthorization(WebBrowser browser, Uri uri)
{
byte[] authData = System.Text.Encoding.UTF8.GetBytes("user:password");
string authHeader = "Authorization: Bearer " + Convert.ToBase64String(authData) + "\r\n" + "User-Agent: MyUserAgent\r\n";
browser.Navigate(uri, "", null, authHeader);
}
嗨,安迪,我没有在这里使用HttpClient。请在上面找到代码详情。 – kayal
这是因为NiFi不接受基本身份验证('username:password'的Base 64)作为有效的身份验证机制。 NiFi支持[三种认证机制](https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#user-authentication)开箱即用(可以用自定义代码扩展) - 客户端证书,LDAP(S)和Kerberos。如果您使用的是客户端证书,则每个请求都必须有证书。对于LDAP或Kerberos,使用用户名和密码的'POST'到'/ access/token'会返回一个JWT令牌。 – Andy
有关更多详细信息,请参阅[REST API - 访问](https://nifi.apache.org/docs/nifi-docs/rest-api/index.html)。与往常一样,使用浏览器的开发工具来监控NiFi所做的请求是了解和验证您希望从不同客户端获得的API调用的最佳方式。 – Andy