No protocolo OAuth2, a concessão de autorização que é obtida por meio de um servidor intermediário entre o cliente e o proprietário do recurso é do tipo
- A)access token.
Access token nao é um tipo de concessao de autorizacao, e sim a credencial emitida ao final do processo para acessar o recurso.
- B)authorization code.
Correta: o authorization code é o fluxo em que um servidor intermediario recebe a autorizacao e depois troca o codigo por um token.
- C)resource owner password credentials.
Resource owner password credentials é o fluxo em que o proprio usuario fornece login e senha ao cliente, sem essa intermediacao tipica.
- D)client credentials.
Client credentials é o fluxo voltado ao proprio cliente, quando nao ha usuario proprietario do recurso participando da autorizacao.
- E)implicit.
Implicit é um fluxo historicamente usado para obter token de forma mais direta, mas nao é o que o enunciado descreve.
Gabarito: B
No OAuth 2.0, o ponto central é separar quem pede o acesso, quem autoriza e quem recebe o pedido. Em vez de o cliente ver a senha do usuário, ele recebe uma autorização intermediada por um servidor de autorização, que conversa com o proprietario do recurso e depois entrega ao cliente um codigo ou um token, conforme o fluxo. O enunciado descreve exatamente o fluxo em que existe um servidor intermediario entre o cliente e o proprietario do recurso. Esse é o grant type authorization code: o usuario autentica e consente no servidor de autorizacao, o cliente recebe um code e, em seguida, troca esse code por um access token. Essa etapa extra aumenta a seguranca, porque o token nao vai direto para o cliente em um primeiro momento. A banca gosta de confundir esse fluxo com o implicit, mas aqui a pista do servidor intermediario entrega o jogo. No authorization code, ha essa troca posterior do codigo por token. Em termos doutrinarios, esse é o fluxo classico recomendado quando o cliente pode manter segredo, justamente por reduzir a exposicao do access token. Por isso, o gabarito B está correto: authorization code é a concessão de autorização obtida por meio de um servidor intermediario entre o cliente e o proprietario do recurso. As demais alternativas descrevem outros elementos do OAuth2 ou outros fluxos, mas nao essa intermediacao caracteristica.