Docs
...

OAuth 2.0

Refresh Token

O refresh token é emitido juntamente do id token e do access token na requisição ao endpoint de /token. Ele pode ser utilizado para renovar os tokens e garantir a authorização aos recursos sem que seja necessário passar pelo pelos demais fluxos.

Como solicitar um access token utilizando o refresh token

Para solicitar um novo access token através de um refresh token é necessário fazer uma nova requisição ao endpoint de /token, encaminhando o refresh token na requisição.

Especificações O request ao endpoint /token deve ser feito utilizando basic authentication e utilizar o content type “application/x-www-form-urlencoded”.

O body deve conter:

  • grant_type: com o valor sendo refresh_token
  • refresh_token: com o valor sendo o refresh token em si (recebido junto do access token)

Exemplo de request:

POST /token HTTP/1.1
Host: identity.iugu.com
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token&refresh_token=dc0881bd755f3810eac6c51d430cf1d4

Caso o refresh_token enviado continue válido, na resposta será enviado um novo access token, um id token e um novo refresh token. Sua aplicação deve estar preparada para o caso em que o refresh token pode estar inválido, nesse caso será retornado uma mensagem de erro e será necessário começar um novo fluxo de authorization code.

Diagrama de sequência

sequenceDiagram participant A as Aplicação participant I as Identity A ->> I: Request /token (send refresh token) activate I alt refresh token valid I ->> A: Response (send back tokens, including new refresh token) else refresh token invalid I ->> A: Response (need to call authorize again) end