小编use*_*195的帖子

IdentityServer4 Authorize 在 Azure AppService 上始终收到“找不到签名密钥”

我有一个基于 IS4 Identity 示例的 IdentityServer4 应用程序,以及一个使用不记名令牌通过 IS4.AccessTokenValidation 进行授权的 API。这通过 VisualStudio 在本地主机上运行良好,当我部署到 Windows 2012 VM 并通过 IIS 托管时,运行良好。当我将身份服务器作为应用服务网站部署到 Azure 时,一切都很好。但是,当使用与 VM 相同的域和证书将 API 部署为应用服务时,任何具有 Authorize 属性的方法(无论是否有策略)始终返回 401 和标头消息:

Www-Authenticate: Bearer error="invalid_token", error_description="The signature key was not found"
Run Code Online (Sandbox Code Playgroud)

我们使用 .NET 4.5.2 以及最新版本的 IdentityServer4 和 IdentityServer4.AccessTokenValidation 包。我还从 2016 年 8 月 30 日起从 GitHub 中提取了这些软件包的最新版本,没有任何更改。无论如何,我不认为这是 IS4 Validator 的错误,但我不知道是什么原因导致的。有什么建议么?这是 Azure 主机错误吗?

我希望能够调试这个,但即使我从头开始重建,我也无法让远程调试工作到这个应用程序,并且应用程序日志没有告诉我任何信息。我翻遍了 ASP.NET Security 存储库,但没有更多的日志记录或调试访问权限,我对如何解决此问题一无所知。

API 配置非常基本:

    var jwtBearerOptions = new JwtBearerOptions()
        {
            Authority = Configuration["Authentication:IdentityServer:Server"],
            Audience = Configuration["Authentication:IdentityServer:Server"]+"/resources",
            RequireHttpsMetadata = false, …
Run Code Online (Sandbox Code Playgroud)

bearer-token .net-4.5.2 azure-web-app-service asp.net-core identityserver4

5
推荐指数
1
解决办法
9471
查看次数