【问题标题】:Consume WebAPI that uses Windows Authentication with Blazor WASM使用通过 Blazor WASM 使用 Windows 身份验证的 WebAPI
【发布时间】:2020-11-07 22:07:04
【问题描述】:

我现在正在寻找几个小时。我有一个 C# Blazor WASM SPA,它从 C# WebAPI (netcore 3.1) 获取数据。对于身份验证,我目前使用 JWT。

我想切换到 SSO 解决方案。由于一切都在公司网络中运行,我想使用 Windows 身份验证。

我设法在 IIS 上为 Windows 身份验证设置了 API。但我真的被 Blazor 应用程序卡住了......

我尝试使用 WinAuth/Anonym 在 IIS 上进行设置,并使用简单的 GET 请求登录,希望 NTLM 协商将凭据从浏览器传递到 API。如果所有进一步的请求都使用 JWT,对我来说会很好。如果一切都可以使用 WinAuth,那就更好了。

但无论我尝试什么,我都不会工作。有没有人有教程或至少有一个概念可以作为开始使用?

【问题讨论】:

  • “行不通”是什么意思?究竟会发生什么?
  • 不起作用,当调用来自 Blazor WASM 应用程序时,API 总是返回 400 Bad Request。甚至浏览器之前也要求我提供 Windows 凭据。当我尝试通过 swagger 调用 API 时,浏览器希望我输入 Windows 凭据,并且 API 调用可以正常工作。
  • 听起来您的 webapi 被错误地暴露了。您应该得到带有身份验证方案建议的 401,以便客户端可以协商它。 400 永远不会工作。

标签: c# blazor windows-authentication webassembly webapi


【解决方案1】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-05
    • 2022-11-28
    • 2021-07-24
    • 2021-04-30
    • 1970-01-01
    • 2021-05-09
    • 2021-04-20
    • 2020-02-03
    相关资源
    最近更新 更多