簡體   English   中英

NReco CustomWkHtmlArgs承載令牌

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM