Table of Contents

Class RefreshTokenReplayDetectedEvent

Namespace
Fdyay.IdentityServer.Events
Assembly
Fdyay.IdentityServer.Core.dll

A refresh token was presented after it had already been rotated away.

public class RefreshTokenReplayDetectedEvent : Event
Inheritance
RefreshTokenReplayDetectedEvent
Inherited Members

Remarks

The one event here a host should alert on rather than merely record. It means a refresh token existed in two places: the legitimate client exchanged it and holds the successor, so whoever presented this copy was working from a captured one. Which of the two parties reached the endpoint second is not knowable, so the whole lineage is revoked and both are signed out — see DefaultRefreshTokenService.

Information rather than Failure: the request was refused, but a host filtering to failures is looking for clients sending bad requests, and this is not that. It is the server reporting a credential compromise it just contained.

Constructors

RefreshTokenReplayDetectedEvent(string, string)

A consumed refresh token presented again, whose lineage has been revoked.

public RefreshTokenReplayDetectedEvent(string clientId, string subjectId)

Parameters

clientId string

The client the refresh token was issued to.

subjectId string

The user the refresh token was issued for.

Properties

ClientId

The client the replayed refresh token was issued to.

public string ClientId { get; }

Property Value

string

SubjectId

The user the replayed refresh token was issued for.

public string SubjectId { get; }

Property Value

string