身份服务器 4 故障排除

Troubleshooting Identity Server 4

我正在使用 Identity Server 4 进行身份验证。我有 MVC 客户端。几天前,我能够成功进行身份验证。但最近我在 Identity Server 项目中做了一些改变,这破坏了一些东西。我得到

unauthorized_client The client application is not known or is not authorized.

我尝试了所有可能的修复方法,但无法修复它。有什么办法可以调试代码。我可以看到调用是对 /connect/authorize 端点进行的,调用将转到 IScopeStore.FindScopesAsyncIClientStore.FindClientByIdAsync 并且我验证它具有所有正确的 AllowedScopes

谁能告诉我如何使用 Identity Server 4 解决此类问题。另外,我很想知道执行流程。什么时候调用 IDSvr 端点?

您的问题可以是任何问题。启用日志记录到控制台,你可以找出它是什么。 Identity Server 4 默认使用 asp.net 核心记录器提供程序来执行其内部日志记录。

在您的 Startup.csConfigure(IApplicationBuilder app, ILoggerFactory loggerFactory) 方法中。通过 loggerFactory.AddConsole(LogLevel.Trace); 添加控制台日志记录,并确保在 project.json "Microsoft.Extensions.Logging.Console": "1.0.0",.

中包含记录器扩展包

您在 /connect/authorize 请求中发送的 client_id 和(客户端配置)必须与 IdentityServer4 上配置的 ClientId 完全匹配。要调试,请使用输出 window 读取日志消息或记录一个文件。