【问题标题】:WebAssembly Blazor not using token when deployed on IISWebAssembly Blazor 在 IIS 上部署时不使用令牌
【发布时间】:2020-10-26 19:10:44
【问题描述】:

我目前正在开发一个使用 Identity Server 4 的 WebAssembly Blazor 应用程序。如此处所述https://docs.microsoft.com/en-us/aspnet/core/blazor/security/webassembly/hosted-with-identity-server?view=aspnetcore-3.1&tabs=visual-studio

当我在本地调试或部署到 Azure 时,一切正常。我可以登录,WebAssembly 客户端将令牌用于所有未来的请求。但是,当我将应用程序部署到 IIS 时,我陷入了登录循环。在服务器上没有记录错误并且登录成功。在客户端上,我看到 /connect/token 的 POST 有一个有效的令牌作为响应(我通过使用 Postman 的令牌进行了检查)。但是看起来客户端忽略了令牌原因,之后我看到它记录到控制台:

Info: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[2]
  Authorization failed.

然后它重定向我再次登录。对我来说更奇怪的是,在 IIS 服务器本地也不会发生这种情况。我真的很困惑为什么只有在 IIS 而不是 Azure 上的远程使用才会发生这种情况。希望有人能指出我正确的方向。

【问题讨论】:

    标签: c# asp.net-core .net-core blazor blazor-webassembly


    【解决方案1】:

    问题是 IIS 服务器时间不同步。所以在本地主机上它工作得完美无缺,但远程连接返回一个已经过期的令牌。 Blazor 的授权服务的日志记录很少,并且没有显示它因为令牌过期而丢弃令牌。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-31
      • 2021-02-09
      • 2023-01-03
      • 1970-01-01
      • 2021-04-05
      • 2013-05-25
      • 2021-12-16
      相关资源
      最近更新 更多