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",
}
}