Um Time de Tecnologia da Informação (TTI) de um tribunal de justiça recebeu a demanda de disponibilizar o acesso a algumas partes do Sistema Web de Acompanhamento de Processos (SAProc) por meio de um aplicativo para dispositivos móveis. Somente usuários internos, que já possuam acesso ao sistema Web SAProc, poderão utilizar o novo aplicativo. Atualmente, o SAProc utiliza o protocolo OAuth2 como framework de autorização entre a aplicação web que atua no front-end e a API RESTFul que atua no back-end. Em função da premissa de uso do OAuth2 pelo novo aplicativo, o TTI deverá:
- A)aplicar Refresh Tokens não expiráveis;
Errada, porque refresh token é usado para renovar access tokens e não deve ser tratado como credencial principal de acesso ao recurso.
- B)fazer uso de Access Tokens para acesso a API RESTful;
Certa, pois o Access Token é o mecanismo do OAuth2 usado pelo cliente para acessar a API RESTful.
- C)considerar o Resource Owner como hospedeiro da API RESTful;
Errada, porque o Resource Owner é o dono dos dados, geralmente o usuário, e não o hospedeiro da API.
- D)utilizar um Token Endpoint para armazenar os autorizações de acesso;
Errada, porque o Token Endpoint emite tokens, não armazena autorizações de acesso.
- E)configurar o Resource Server como o responsável por gerar autorizações de acesso a API RESTful.
Errada, porque o Resource Server valida tokens e protege recursos, mas não é o responsável por gerar autorizações.
Gabarito: B
O OAuth2 é um framework de autorização, ou seja, ele serve para controlar o que um cliente pode acessar em nome de um usuário, sem precisar entregar a senha do usuário. Em cenários com aplicativo móvel, isso é muito comum: o app pede acesso e recebe um token com permissão limitada e prazo de validade, em vez de ficar “solto” com credenciais permanentes. A lógica é simples: menos confiança, mais controle. Na prática, o elemento central para acessar recursos protegidos é o Access Token. É ele que o aplicativo apresenta ao Resource Server, que aqui é a API RESTful, para provar que tem autorização para aquela requisição. Sem esse token válido, a API deve negar o acesso. Isso é o coração do fluxo OAuth2. Por isso o gabarito é a letra B. Se o novo aplicativo vai acessar partes do SAProc, e o sistema já usa OAuth2, o caminho correto é usar Access Tokens para acessar a API RESTful. O token funciona como uma “credencial temporária” para o recurso, e não como senha do usuário. Se quiser pensar de forma de prova: OAuth2 + API + app cliente = Access Token na veia. Como reforço doutrinário, o OAuth2 não autentica o usuário por si só, ele autoriza acesso a recursos. Quem faz a ponte entre app e API é o token de acesso, enquanto refresh token serve para renovar esse acesso quando necessário, sem refazer o login a cada hora.