Noções básicas dos tokens de atualização
Saiba mais sobre os tokens de atualização e a função que eles desempenham no processo de autorização
O que são tokens de atualização?
Aplicações seguras e modernas geralmente usam tokens de acesso para garantir que um usuário tenha acesso aos recursos apropriados, e esses tokens de acesso geralmente têm um tempo de vida limitado. Isso é feito por vários motivos de segurança: por exemplo, limitar o tempo de vida do token de acesso limita o período em que um invasor pode usar um token roubado. Além disso, as informações contidas ou referenciadas pelo token de acesso podem se tornar obsoletas.
Quando os tokens de acesso expiram ou se tornam inválidos, mas a aplicação ainda precisa acessar um recurso protegido, ela precisa obter um novo token de acesso sem forçar o usuário a conceder permissão novamente. Para resolver esse problema, o OAuth 2.0 introduziu um artefato chamado token de atualização. Um token de atualização permite que uma aplicação obtenha um novo token de acesso sem avisar o usuário.
Obtenção dos tokens de atualização
Um token de atualização pode ser solicitado por uma aplicação como parte do processo de obtenção de um token de acesso. Muitos servidores de autorização implementam o mecanismo de solicitação de token de atualização definido na especificação OpenID Connect. Nesse caso, uma aplicação deve incluir o escopo offline_access
ao iniciar uma solicitação de código de autorização. Depois que o usuário se autenticar com êxito e consentir que a aplicação acesse o recurso protegido, ela receberá um código de autorização que pode ser trocado no endpoint do token por um token de acesso e um token de atualização.
Utilização dos tokens de atualização
Quando um novo token de acesso for necessário, a aplicação poderá fazer uma solicitação POST
ao endpoint do token usando um tipo de concessão de refresh_token
(aplicações da Web precisam incluir um client secret). Para usar um token de atualização para obter um novo token de ID, o servidor de autorização precisa oferecer suporte ao OpenID Connect, e o escopo da solicitação original precisa incluir openid
.
Embora os tokens de atualização geralmente tenham vida longa, o servidor de autorização pode invalidá-los. Algumas das razões pelas quais um token de atualização pode não ser mais válido incluem:
- o servidor de autorização revogou o token de atualização
- o usuário revogou seu consentimento para autorização
- o token de atualização expirou
- a política de autenticação para o recurso mudou (por exemplo, originalmente o recurso usava apenas nomes de usuário e senhas, mas agora requer MFA)
Como os tokens de atualização têm potencial para uma longa vida útil, os desenvolvedores devem garantir que requisitos de armazenamento rígidos estejam em vigor para evitar que vazem. Por exemplo, em aplicações da Web, os tokens de atualização só devem deixar o backend ao serem enviados para o servidor de autorização, e o backend deve ser seguro. O client secret deve ser protegido de maneira semelhante. As aplicações móveis não exigem um client secret, mas ainda precisam armazenar tokens de atualização em algum lugar que apenas a aplicação cliente possa acessar.
Tokens de atualização na Auth0
Com a Auth0, você pode obter um token de atualização ao usar oFluxo de código de atualização (para aplicações comuns da Webou aplicações nativas/móveis), o Device Flow ou a Concessão de senha do proprietário do recurso. Todos os principais SDKs da Auth0 oferecem suporte à aquisição, ao uso e à revogação de tokens de atualização prontos para uso, sem que você precise se preocupar com a formatação de mensagens. As linguagens com suporte ao SDK incluemNode.js, .NET, PHP emuito mais!
Para saber mais sobre tokens de atualização na Auth0, incluindo como revogá-los, confira a documentação dos tokens de atualização.
Inscreva-se gratuitamente
Comece a construir e proteja suas aplicações com a plataforma de identidade Auth0 hoje mesmo.