【发布时间】: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