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