1

我有一个托管在 IIS 上的 api,我试图通过 Blazor.Net 客户端应用程序调用HttpClient示例中提供的 api。

由于 api 端点托管在具有 Windows 身份验证的 IIS 上,因此我需要在调用时包含凭据。

我试图创建一个实例,httpClient而不是使用示例中提供的静态方法,但我收到了异常PlatformNotSupported

有没有办法使用静态传递HttpClient凭据Blazor.net

如果我使用 JavaScript 互操作XMLHttpRequest并将其设置withCredentialstrue,则 api 返回数据。但是我宁愿不使用 js 来获取数据,而是使用 C#。

谢谢,

4

1 回答 1

0

通常浏览器应该会处理这个问题,这就是为什么您需要一个兼容 Windows 身份验证的浏览器。有关 Windows 身份验证如何与浏览器交互的说明,请参见此处

所以如果默认情况下这不起作用,我猜 Blazor/Mono 还不支持这个。但是您可以在 blazor 的 http 调用中包含自己的授权标头。我在这里有一个示例如何执行此操作(对于 jwt 令牌)。因此,如果您能够以某种方式从某个地方获取 Windows 令牌,您可以尝试一下。

于 2018-07-02T06:42:39.563 回答