JWT Refresh

This event has been available since 1.16.0
Event type
jwt.refresh

Event Scope

Prior to version 1.37.0 this was a tenant or application scoped event. It can be sent to all applications or to one or more specified applications.

The ability to limit the generation of an event for only certain applications is legacy functionality and is removed as of version 1.37.0. In earlier versions, you almost certainly want to enable this event at the tenant level and optionally filter on the tenantId when consuming the event.

In version 1.37.0 and later this is a tenant scoped event. It can be sent to all tenants or to one or more specified tenants. Those tenants will only be sent events related to their tenant. You can optionally also filter on the applicationId when consuming the event.

Transaction Compatibility

This event is transactional. The final state of the operation which caused the webhook is not persisted to FusionAuth until after the webhook finishes; learn more

Event Body

event.applicationId[UUID]

The unique Id of the Application for which the token provides access.

event.createInstant[Long]

The instant that the event was generated.

event.id[UUID]

The unique Id of the event. You may receive an event more than once based upon your transaction settings. This Id may be used to identify a duplicate event.

event.info.data[Object]available since 1.30.0
An object that can hold any information about the event that should be persisted.
event.info.deviceDescription[String]available since 1.30.0
The description of the device associated with the event.
event.info.deviceName[String]available since 1.30.0
The device name associated with the event.
event.info.deviceType[String]available since 1.30.0
The type of device associated with the event.
event.info.ipAddress[String]available since 1.27.0
The source IP address of the event.
event.info.location.city[String]available since 1.30.0
The city where the event originated. Note: A paid plan is required to utilize event info location.
event.info.location.country[String]available since 1.30.0
The country where the event originated. Note: A paid plan is required to utilize event info location.
event.info.location.latitude[Double]available since 1.30.0
The latitude where the event originated. Note: A paid plan is required to utilize event info location.
event.info.location.longitude[Double]available since 1.30.0
The longitude where the event originated. Note: A paid plan is required to utilize event info location.
event.info.location.region[String]available since 1.30.0
The geographic location where the event originated. Note: A paid plan is required to utilize event info location.
event.info.location.zipcode[String]available since 1.30.0
The zip code where the event originated. Note: A paid plan is required to utilize event info location.
event.info.os[String]available since 1.30.0
The operating system associated with the event.
event.info.userAgent[String]available since 1.30.0
The user agent associated with the event.
event.original[String]

The original encoded access token which was provided on the JWT refresh request. This field will be omitted if the token parameter was not provided on the initiating request.

event.refreshToken[String]

The refresh token which was provided on the JWT refresh request, used in refreshing the JWT.

event.token[String]

The new encoded access token.

event.tenantId[UUID]available since 1.8.0

The unique tenant identifier. This value may not be returned if not applicable.

event.type[String]

The event type, this value will always be jwt.refresh.

event.userId[UUID]

The unique Id of the User for which the access token was granted.

Example Event JSON

{
  "event": {
    "type": "jwt.refresh",
    "createInstant": 1566842908643,
    "id": "ef73f801-0efb-4b3d-91e9-99888d792137",
    "tenantId": "800d17be-ad77-4f3d-93e1-ef73dfa50cf2",
    "applicationId": "79360eaa-2c25-429b-b8c7-0ba353127e9b",
    "original": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkFuYV91STRWbWxiMU5YVXZ0cV83SjZKZFNtTSJ9.eyJleHAiOjE1ODgzNTM0NjAsImlhdCI6MTU4ODM1MzQwMCwiaXNzIjoiZnVzaW9uYXV0aC5pbyIsInN1YiI6IjAwMDAwMDAwLTAwMDAtMDAwMS0wMDAwLTAwMDAwMDAwMDAwMCIsImF1dGhlbnRpY2F0aW9uVHlwZSI6IlBBU1NXT1JEIiwiZW1haWwiOiJ0ZXN0MEBmdXNpb25hdXRoLmlvIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsInByZWZlcnJlZF91c2VybmFtZSI6InVzZXJuYW1lMCJ9.ZoIHTo3Pv0DpcELeX_wu-ZB_rd988jefZc2Ozu9_p59kttwqMm5PV8IDbgxJw9xcq9TFoNG8e_B6renoc11JC54UbiyeXBjF7EH01n9LDz-zTGqu9U72470Z4E7IPAHcyvJIBx4Mp9sgsEYAUm9Tb8ChudqNHhn6ZnXYI7Sew7CtGlu62f10wdBYGX0soYARHBv9CwhJC3-gsD2HLmqHAP_XhrpaYPNr5EAvmCHlM-JlTiEQ9bXwSc4gv-XbPQWamwy8Kcdb-g0EEAml_dC_b2CduwwYg0EoPQB3tQxzTUQzADi7K6q0CtQXv2_1VrRi6aQ4lt7v7t-Na39wGry_pA",
    "token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0ODc5NzU0NTgsImlhdCI6MTQ4Nzk3MTg1OCwiaXNzIjoiYWNtZS5jb20iLCJzdWIiOiI4NThhNGIwMS02MmM4LTRjMmYtYmZhNy02ZDAxODgzM2JlYTciLCJhcHBsaWNhdGlvbklkIjoiM2MyMTllNTgtZWQwZS00YjE4LWFkNDgtZjRmOTI3OTNhZTMyIiwicm9sZXMiOlsiYWRtaW4iXX0.O29_m_NDa8Cj7kcpV7zw5BfFmVGsK1n3EolCj5u1M9hZ09EnkaOl5n68OLsIcpCrX0Ue58qsabag3MCNS6H4ldt6kMnH6k4bVg4TvIjoR8WE-yGcu_xDUObYKZYaHWiNeuDL1EuQQI_8HajQLND-c9juy5ILuz6Fhx8CLfHCziEHX_aQPt7jQ2IIasVzprKkgvWS07Hiv2Oskryx49wqCesl46b-30c6nfttHUDEQrVq9gaepca3Nhjj_cPtC400JgLCN9DOYIbtd69zvD8vDUOvVzMr2HGdWtKthqa35NF-3xMZKD8CShe8ZT74fNd9YZ0WRE-YeIf3T_Hv5p5V2w",
    "refreshToken": "xRxGGEpVawiUak6He367W3oeOfh+3irw+1G1h1jc",
    "userId": "73cf557a-394a-455d-898a-d77bb0432c2e"
  }
}