Ich suche nach Optionen, um die Client-ID für jede Anfrage (falls verfügbar) zu protokollieren, sodass sie für die Berichterstellung verwendet werden kann, um die Anzahl der Anfragen pro Client zu ermitteln. IDs protokolliert die Client-ID für die Token-Anforderung, wenn LogLevel Information ist. Wenn wir den IDS-Code betrachten, müssen wir die Client-ID aus AuthenticationHeader oder aus dem Body der Anfrage extrahieren. Wollte wissen, ob da irgendetwas in ids eingebaut ist um dies zu tun. Irgendwelche anderen Möglichkeiten, dies zu tun?Identity Server 3: Protokollierung der Client-ID für die Berichterstellung
0
A
Antwort
3
Absolut!
Die Umsetzung der IEventService ist, was Sie suchen.
Eine Übersicht über alle Ereignisse, die an den IEventService übertragen werden, kann in der Quelle dieser internen Erweiterungsmethoden eingesehen werden. IEventServiceExtensions.
Die AccessTokenIssuedEvent
, AuthorizationCodeDetails
und RefreshTokenDetails
Veranstaltungen gehören die ClientId Empfang des Tokens - so können Sie ein Überwachungsprotokoll erstellen.
Die Standardimplementierung von IEventService
ist die DefaultEventService, die den Protokollierungsmechanismus verwendet, den Sie für IdentityServer verwenden. Sie können dies jedoch auslagern, um sich bei einer Datenbank anzumelden, wenn Sie dies bevorzugen.
Dies ist sehr hilfreich. Ich habe über den Event-Service geschaut. – Shetty
Eines der Dinge, die ich nach der Implementierung beobachtet habe, ist, dass Intropection Endpunkt das rohe Token oder Referenz Token immer in Logs protokolliert. Isnt ist ein Risiko, das tatsächliche Token in Protokollen zu protokollieren? Ein offensichtlicher Grund dafür? – Shetty
werden wir das ansprechen. Danke für die Berichterstattung. – leastprivilege