O que é acesso offline?
O conceito de acesso offline pode variar dependendo do contexto, mas vamos nos concentrar nas especificações do OAuth 2.0 e OpenID Connect (OIDC). Nesse contexto, o acesso offline permite que clientes obtenham novos tokens de acesso (access tokens) usando um token de atualização (refresh token) sem exigir que o usuário se autentique novamente. Este recurso é particularmente útil para sessões de longa duração e melhor experiência do usuário.
Vale a pena notar que o OAuth 2.0 não define explicitamente o termo “acesso offline”; ele apenas especifica o uso de tokens de atualização para obter novos tokens de acesso. No entanto, o termo “acesso offline” (junto com o escopo offline_access
) foi amplamente adotado na indústria para se referir a essa capacidade, e é oficialmente definido na especificação do OpenID Connect (OIDC) .
Como funciona o acesso offline?
Para simplificar, usaremos os termos do OAuth 2.0 Solicitação de autorização (Authorization request) e Servidor de autorização para ilustrar como o acesso offline funciona. Seus termos alternativos no OIDC são Solicitação de autenticação (Authentication request) e Provedor OpenID (OP) , respectivamente.
Existem dois passos principais envolvidos no aproveitamento do acesso offline:
-
Solicitando acesso offline: Quando o Cliente inicia uma solicitação de autorização para o servidor de autorização, ele inclui o escopo
offline_access
para solicitar acesso offline. Este escopo indica que o cliente deseja obter um token de atualização junto com o token de acesso.O suporte para acesso offline pode variar entre os servidores de autorização, e o servidor de autorização pode ignorar o escopo
offline_access
se não o suportar. Consulte a documentação do servidor de autorização para garantir a compatibilidade antes de usar este escopo. -
Usando o token de atualização: Uma vez que o Concessão OAuth 2.0 (OAuth 2.0 grant) é concluído, o cliente deve receber um Token de atualização (Refresh token) junto com o Token de acesso (Access token) . O cliente pode armazenar o token de atualização de forma segura e usá-lo para enviar uma Solicitação de token (Token request) ao servidor de autorização para obter um novo token de acesso quando o token de acesso atual expirar.
Para exemplos detalhados de acesso offline em ação, consulte o artigo Token de atualização (Refresh token) .
Considerações de segurança
As implicações de segurança do acesso offline são semelhantes às dos tokens de atualização. Consulte a seção de Considerações de segurança para detalhes.