身份服务器 3:记录客户端 ID 以进行报告
Identity Server 3 : Logging client id for reporting
我正在寻找为每个请求记录客户端 ID 的选项(如果可用),以便它可以用于报告目的以找出每个客户端的请求数。当 LogLevel 为 Information 时,Ids 记录令牌请求的客户端 ID。查看 IDS 代码,我们需要从 AuthenticationHeader 或请求的 Body 中提取客户端 ID。想知道 ids 中是否已经内置了任何东西来执行此操作。还有其他方法吗?
绝对!
实施 IEventService 就是您所追求的。
可以在这些内部扩展方法的源代码中查看传输到 IEventService 的所有事件的概览; IEventServiceExtensions.
AccessTokenIssuedEvent
、AuthorizationCodeDetails
和 RefreshTokenDetails
事件将包括 ClientId 接收令牌 - 因此您可以创建审核日志。
IEventService
的默认实现是 DefaultEventService,它将使用您用于 IdentityServer 的日志记录机制,但如果您愿意,可以将其换出以记录到数据库。
我正在寻找为每个请求记录客户端 ID 的选项(如果可用),以便它可以用于报告目的以找出每个客户端的请求数。当 LogLevel 为 Information 时,Ids 记录令牌请求的客户端 ID。查看 IDS 代码,我们需要从 AuthenticationHeader 或请求的 Body 中提取客户端 ID。想知道 ids 中是否已经内置了任何东西来执行此操作。还有其他方法吗?
绝对!
实施 IEventService 就是您所追求的。
可以在这些内部扩展方法的源代码中查看传输到 IEventService 的所有事件的概览; IEventServiceExtensions.
AccessTokenIssuedEvent
、AuthorizationCodeDetails
和 RefreshTokenDetails
事件将包括 ClientId 接收令牌 - 因此您可以创建审核日志。
IEventService
的默认实现是 DefaultEventService,它将使用您用于 IdentityServer 的日志记录机制,但如果您愿意,可以将其换出以记录到数据库。