ABCchrome标头中的JWT Bearer令牌

问题描述 投票:0回答:1

我正在使用ABCPdf 11将html转换为pdf,需要转换的html页面需要JWT令牌,因此需要将其传递到ABCChrome,以便它可以使用JWT令牌。我已经尝试了以下操作,但是验证仍然失败:

doc.HtmlOptions.HttpAdditionalHeaders = $"Authorization: Bearer {accessToken}";

我从这里跟随示例:https://www.websupergoo.com/helppdfnet/default.htm?page=source%2F5-abcpdf%2Fxhtmloptions%2F2-properties%2Fhttpadditionalheaders.htm

根据上面URL中的描述,我还尝试了以下选项:

doc.HtmlOptions.NoCookie = true;
doc.HtmlOptions.Media = MediaType.Screen;

[添加HttpAdditionalHeaders后,当我从pdf库获得http状态时,我确实获得了401 HTTP状态代码,该代码确认了

var imageId = doc.AddImageUrl(model.Url);
var status = doc.HtmlOptions.ForChrome.GetHttpStatusCode(imageId);

这里的状态是401-未经授权

http-headers abcpdf
1个回答
0
投票

ABCChrome引擎当前不支持HttpAdditionalHeaders属性。 ABCChrome支持的唯一HtmlOptions指定为here

您可以尝试一些操作:

  1. 检查目标服务器是否支持通过GET请求参数发送Web令牌-我想您可能已经做到了这一点:-)
  2. 将AddImageUrl请求URL发送到脚本的中间Web服务器(甚至是本地HttpServer),该脚本可以根据任何GET参数为您获取页面。
  3. 如果您尝试访问的服务接受了ajax请求,则可以尝试使用javascript通过XMLHttpRequest.setRequestHeader()将响应注入到页面中。注意:如果您为此使用本地文件(例如file://),则可能会遇到一些Chromium强制执行的JavaScript安全问题。

我确实知道WebSuperGoo为其所有许可证(包括试用许可证)提供free support

祝你好运。>>

© www.soinside.com 2019 - 2024. All rights reserved.