> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-actions-triggers-prototype.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> This page describes how to keep your user logged in with Refresh Tokens

# Lock.Android: Refresh JSON Web Tokens

When authentication is performed with the `offline_access` scope included, a <Tooltip tip="Refresh Token: Token used to obtain a renewed Access Token without forcing users to log in again." cta="View Glossary" href="/docs/glossary?term=Refresh+Token">Refresh Token</Tooltip> is returned with the credentials. This value can be used to request a new <Tooltip tip="Refresh Token: Token used to obtain a renewed Access Token without forcing users to log in again." cta="View Glossary" href="/docs/glossary?term=Access+Token">Access Token</Tooltip> and avoid asking the user their credentials again.

Tokens must be stored in a secure storage after a successful authentication. Keep in mind that Refresh Tokens **never expire**. To request a new token, use A`uth0.Android`'s `AuthenticationAPIClient`.

## Using Refresh Token

```kotlin lines theme={null}
val refreshToken: String = // Retrieve Refresh Token from secure storage
val account = Auth0(this)

val client = AuthenticationAPIClient(account)
client.renewAuth(refreshToken)
  .start(object: Callback<Credentials, AuthenticationException> {
  override fun onFailure(exception: AuthenticationException) {
       // Error
   }

   override fun onSuccess(credentials: Credentials) {
       // Use the credentials
   }
})
```
