【问题标题】:bearer token only works when browsing site without "www."不记名令牌仅在浏览没有“www”的站点时才有效。
【发布时间】:2019-11-01 05:12:21
【问题描述】:

我有一个ASP.NET Core 3.0, Angular, IdentityServer4 应用程序部署到 IIS。它使用导出到 .pfx 的服务器证书进行令牌签名。 (此证书用于 SSL 证书,但来自证书存储)。

应用程序以 https://www.example.comhtts://example.com 的形式加载都很好(没有 SSL 错误)。

但是在浏览https://www.example.com 并尝试访问任何需要授权的端点上的数据时,它不起作用。在响应头中观察到以下错误:

www-authenticate: Bearer error="invalid_token", error_description="The issuer 'https://www.example.com' is invalid"

我不确定从哪里开始寻找...这会是 IdentityServer4 配置问题吗?


仅供参考,这个项目是从dotnet new angular -o <output_directory_name> -au Individual创建的模板项目开发的。

【问题讨论】:

    标签: asp.net-core identityserver4


    【解决方案1】:

    令牌发行者(它是发行令牌的网站的来源)是 OIDC 提供商与依赖它的客户端和 API 之间合同的一部分。

    identityserver4 默认情况下将使用传入的请求详细信息来确定iss 在它发出的任何令牌中的值。

    因此,您通常应该只为您的 OIDC 提供商使用一个主机名 - 例如。 identity.example.com 或类似的东西。

    另一个选项可能是强制它使用预定义的主机名,而不是根据请求确定它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      • 1970-01-01
      • 2021-10-27
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多