O que é o acesso offline (offline access)?
O conceito de acesso offline (offline access) pode variar dependendo do contexto, vamos focar nas especificações do OAuth 2.0 e OpenID Connect (OIDC). Neste contexto, o acesso offline permite que os clientes obtenham novos access tokens usando um refresh token sem exigir que o utilizador se re-autentique. Esta funcionalidade é particularmente útil para sessões de longa duração e uma melhor experiência do utilizador.
Vale a pena notar que o OAuth 2.0 não define o termo “acesso offline” explicitamente; apenas especifica o uso de refresh tokens para obter novos access tokens. No entanto, o termo “acesso offline” (juntamente com o scope offline_access
) foi amplamente adotado na indústria para se referir a esta capacidade, e é oficialmente definido na especificação OpenID Connect (OIDC) .
Como funciona o acesso offline (offline access)?
Para simplificar, usaremos os termos do OAuth 2.0 Pedido de autorização (Authorization request) e Servidor de autorização para ilustrar como o acesso offline funciona. Seus termos alternativos no OIDC são Pedido de autenticação (Authentication request) e OpenID Provider (OP) , respectivamente.
Existem dois passos principais envolvidos no aproveitamento do acesso offline:
-
Solicitar acesso offline: Quando o Cliente inicia um authorization request para o authorization server, inclui o scope
offline_access
para solicitar acesso offline. Este scope indica que o cliente deseja obter um refresh token juntamente com o access token.O suporte para acesso offline pode variar entre os authorization servers, e o authorization server pode ignorar o scope
offline_access
se não o suportar. Por favor, consulte a documentação do authorization server para garantir a compatibilidade antes de usar este scope. -
Usar o refresh token: Uma vez que o Concessão OAuth 2.0 (OAuth 2.0 grant) esteja completo, o cliente deve receber um Token de atualização (Refresh token) juntamente com o Token de acesso (Access token) . O cliente pode armazenar o refresh token de forma segura e usá-lo para enviar um Pedido de token (Token request) ao authorization server para obter um novo access token quando o access token atual expirar.
Para exemplos detalhados de acesso offline em ação, por favor, 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 refresh tokens. Por favor, consulte a seção de Considerações de segurança para detalhes.