UserSignedIn

A user signed in. To retrieve only this event you use the topic “user/irm.aspnetcore.identity.events.usersignedin”.

Name Type Description
AggregateId UUID The unique identifier of the user (always the same as the person id for end-users).
Kind int Indicates what kind of situation that caused the event. Can be one of these values: 0. Interactive sign-in where user is fully aware; 1. Automatic sign-in where the user is signed-in automatically by single-sign-on; 2. Refresh where an application uses a refresh token to re-new the user sign-in; 3. Impersonate which is when another user impersonates the user.
AuthenticationRequirement string The requirment of the authentication process for the user, for example “1FA” or “2FA”. This will only be set when Kind is 0 or 3.
AuthenticationMethod string The type of authentication that the user used when signing in. This will only be set when Kind os 0 or 3.
FromIpAddress string The IP Address of the user (or service) that caused the event. When kind is 2 (Refresh) this will be the IP Address of the server, not the user, since it is performed over a backchannel.
IpAddressLocation IpAddressLocation Ip address information if available.
UserAgent string The user agent string from the browser (or service) that caused the event. Will be the user’s web browser user agent for all Kind except when Kind = 2 (Refresh) which happens in a backchannel.
Metadata dynamic A dynamic object with additional data for the event.

More about Metadata

Metadata is a dynamic object that can contain different extra properties that might vary on Kind, protocol used or other factors.

When the event occurs as a result of using OpenId Connect it will include these:

Name Type Description
ClientId string The unique identifier of the client that asked to sign-in the user.
ClientName string The name of the client that asked to sign-in the user.

The JSON will be like this:

{
   ...
   metadata: {
      clientId: "UniqueClientId",
      clientName: "The perfect client"
   }
}

When the event occurs as a result of a user impersonating another user it will include these:

Name Type Description
ImpersonatedByUserId UUID The unique identity of the user impersonating the user.

The JSON will be like this:

{
   ...
   metadata: {
      impersonatedByUserId: "UniqueUserId",
   }
}