繁体   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