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