Identity Server 3:记录客户端ID以进行报告

时间:2016-08-04 14:23:36

标签: identityserver3

我正在查看为每个请求记录客户端ID的选项(如果可用),以便可以将其用于报告目的,以找出每个客户端的请求数。当LogLevel为Information时,Ids会记录令牌请求的客户端ID。查看IDS代码,我们需要从AuthenticationHeader或请求的Body中提取客户端ID。想知道是否有任何已经内置到id中的内容来执行此操作。还有其他方法吗?

1 个答案:

答案 0 :(得分:3)

绝对!

实施IEventService就是您追求的目标。

可以在这些内部扩展方法的源代码中查看传输到IEventService的所有事件的概述; IEventServiceExtensions

AccessTokenIssuedEventAuthorizationCodeDetailsRefreshTokenDetails事件将包含ClientId接收令牌 - 因此您可以创建审核日志。

IEventService的默认实现是DefaultEventService,它将使用您为IdentityServer使用的日志记录机制,但如果您愿意,可以将其交换为登录到数据库。