Refresh JWT

📘

Full code example

https://github.com/lens-protocol/api-examples/blob/master/src/authentication/refresh.ts

Your accessToken expires every 30 minutes this means you have to refresh it with the refreshToken to get a new access token. It is up to your client to make sure that you refresh it before it expires.

hint: use https://jwt.io/ to decode your JWT token, when you do in the payload section you will see some claims showing. exp is the unix timestamp for when the token will expiry.

API details

mutation Refresh {
  refresh(request: {
    refreshToken: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjB4YjE5QzI4OTBjZjk0N0FEM2YwYjdkN0U1QTlmZkJjZTM2ZDNmOWJkMiIsInJvbGUiOiJyZWZyZXNoIiwiaWF0IjoxNjQ1MTA0MjMxLCJleHAiOjE2NDUxOTA2MzF9.2Tdts-dLVWgTLXmah8cfzNx7sGLFtMBY7Z9VXcn2ZpE"
  }) {
    accessToken
    refreshToken
  }
}
{
  "data": {
    "refresh": {
      "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjB4YjE5QzI4OTBjZjk0N0FEM2YwYjdkN0U1QTlmZkJjZTM2ZDNmOWJkMiIsInJvbGUiOiJub3JtYWwiLCJpYXQiOjE2NDUxMDQyMzEsImV4cCI6MTY0NTEwNjAzMX0.lwLlo3UBxjNGn5D_W25oh2rg2I_ZS3KVuU9n7dctGIU",
      "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjB4YjE5QzI4OTBjZjk0N0FEM2YwYjdkN0U1QTlmZkJjZTM2ZDNmOWJkMiIsInJvbGUiOiJyZWZyZXNoIiwiaWF0IjoxNjQ1MTA0MjMxLCJleHAiOjE2NDUxOTA2MzF9.2Tdts-dLVWgTLXmah8cfzNx7sGLFtMBY7Z9VXcn2ZpE"
    }
  }
}
type Mutation {
   refresh(request: RefreshRequest!): AuthenticationResult!
}
# The refresh request
input RefreshRequest {
  # The refresh token
  refreshToken: Jwt!
}
# The authentication result
type AuthenticationResult {
  # The access token
  accessToken: Jwt!

  # The refresh token
  refreshToken: Jwt!
}

Did this page help you?