我的 IdentityServer4 实例在知名配置的响应中返回变形的 url 架构。这是我从 http://www.server.meetcorepoint.com/.well-known/openid-configuration得到的回复
{"issuer":"http://\\www.server.meetcorepoint.com","jwks_uri":"http://\\www.server.meetcorepoint.com/.well-known/openid-configuration/jwks","authorization_endpoint":"http://\\www.server.meetcorepoint.com/connect/authorize","token_endpoint":"http://\\www.server.meetcorepoint.com/connect/token","userinfo_endpoint":"http://\\www.server.meetcorepoint.com/connect/userinfo","end_session_endpoint":"http://\\www.server.meetcorepoint.com/connect/endsession","check_session_iframe":"http://\\www.server.meetcorepoint.com/connect/checksession","revocation_endpoint":"http://\\www.server.meetcorepoint.com/connect/revocation","introspection_endpoint":"http://\\www.server.meetcorepoint.com/connect/introspect","frontchannel_logout_supported":true,"frontchannel_logout_session_supported":true,"backchannel_logout_supported":true,"backchannel_logout_session_supported":true,"scopes_supported":["openid","profile","api1","offline_access"],"claims_supported":["sub","name","family_name","given_name","middle_name","nickname","preferred_username","profile","picture","website","gender","birthdate","zoneinfo","locale","updated_at"],"grant_types_supported":["authorization_code","client_credentials","refresh_token","implicit","password"],"response_types_supported":["code","token","id_token","id_token token","code id_token","code token","code id_token token"],"response_modes_supported":["form_post","query","fragment"],"token_endpoint_auth_methods_supported":["client_secret_basic","client_secret_post"],"subject_types_supported":["public"],"id_token_signing_alg_values_supported":["RS256"],"code_challenge_methods_supported":["plain","S256"]}
这是 mvc 客户端http://www.mvc.meetcorepoint.com,当我单击以使用 idsr4 进行身份验证时,客户端会抛出异常Unable to parse host name
并且无法进行身份验证,因为它无法解析 url。
请注意\\
附加到响应的每个 url 中的架构。所有网址均无效。idsr4 和 mvc 客户端都托管在 Amazon Linux 上。我使用的两个项目都来自 GitHub 上的官方示例项目https://github.com/IdentityServer/IdentityServer4.Samples/tree/release/Quickstarts/5_HybridFlowAuthenticationWithApiAccess
我使用的是 dotnet core 2.0.4 版本。在 localhost 上,idsr4 按预期工作并返回适当的响应,而无需额外的双反斜杠。
是什么导致了错误的 url 架构以及如何解决这个问题?随意在实时服务器上自己测试身份服务器。