[英]NReco CustomWkHtmlArgs bearer token
與NReco.PdfGenerator.HtmltoPdfConverter一起使用,最近實現了帶有Bearer令牌的OAuth。 在實現並保護我的ApiControllers之后,轉換器開始拋出以下錯誤。
WkHtmlToPdfException:由於網絡錯誤而以代碼1退出:AuthenticationRequiredError(退出代碼:1)
經過一番窺探,我發現我可以添加自定義標頭參數,因此我抓住了承載令牌並將其附加到CustomWkHtmlArgs
這是我必須要做的。
htmlToPdf.CustomWkHtmlArgs = "-L 0mm -R 0mm -T 5mm -B 0mm --javascript-delay 3000";
FileHandlingModule.deleteFile(savePath);
//Get Auth Token
var accessToken = "Bearer " + Request.Headers.Authorization.Parameter;
htmlToPdf.CustomWkHtmlArgs += " --custom-header Authorization: " + accessToken;
htmlToPdf.GeneratePdfFromFile(purl, null, savePath);
這就是CustomWkHtmlArgs,這就是args字符串的樣子。
-L 0mm -R 0mm -T 5mm -B 0mm --javascript-delay 3000 --custom-header授權:Bearer YHE7HJEh_Hk0wazErUK6DIGcCG7-GRDHBEWRA-ju9hewqPk9cjY3zH5MT ....
為簡便起見,令牌已縮短。 我嘗試刪除冒號,但仍然收到AuthRequiredError。 有人熟悉傳遞標頭身份驗證令牌嗎?
首先,嘗試在引號中傳遞標頭值:
htmlToPdf.CustomWkHtmlArgs += " --custom-header \"Authorization\" \"" + accessToken + "\"";
如果需要此標頭來訪問頁面資源(圖像,css,ajax調用),也應指定選項“ --custom-header-propagation”。
順便說一句,您是否嘗試過使用wkhtmltopdf從命令行測試自定義標頭? 另外,您可以處理htmlToPdf.LogReceived
事件並獲取wkhtmltopdf控制台日志輸出-這可能對調試有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.