我一直在开发多个依赖 Identity Server 4(IDS4) 使用 OIDC 进行身份验证的应用程序。一切都很好,直到我使用 SSL 卸载将应用程序放在代理后面。
目标是能够访问一个站点。当您请求登录时,它应该将您重定向到 IDS4 验证您,然后将您送回。这是标准的。。
真正发生了什么。403 错误:
An unhandled exception occurred while processing the request.
HttpRequestException: Response status code does not indicate success: 403 (Forbidden).
System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
IOException: IDX20804: Unable to retrieve document from: 'https://ids.com/.well-known/openid-configuration'.
Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(string address, CancellationToken cancel)
InvalidOperationException: IDX20803: Unable to obtain configuration from: 'https://ids.com/.well-known/openid-configuration'.
Microsoft.IdentityModel.Protocols.ConfigurationManager<T>.GetConfigurationAsync(CancellationToken cancel)
Stack Query Cookies Headers
HttpRequestException: Response status code does not indicate success: 403 (Forbidden).
System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(string address, CancellationToken cancel)
只是出于好奇,我关闭了我的 IDS 应用程序并尝试通过我的其他应用程序之一访问它并得到完全相同的错误响应。这让我相信这与使用 openidc 时我的应用程序中的代码或我的 IIS 设置有关。
注意事项:我使用的是 IIS。我的代理站点上有一个受信任的 CA 证书。假设 IDS 正在运行,我可以在我的浏览器中访问“ https://ids.com/.well-known/openid-configuration ”。你不会的,这是一个假域名。
我尝试过的事情:
在 OpenIdConnect 内部尝试将 RequireHttpsMetadata 从 false 切换为 true,
app.UseForwardedHeaders();
好的,我在这里肯定是错的,但我认为问题在于我的应用程序(使用 OIDC 时)没有发送 SSL 信息,该信息禁止他们访问“ https://ids.com/.well-know ”地址。
我应该从哪里开始尝试使用它?
慕姐4208626
米琪卡哇伊
qq_笑_17
相关分类