O OAuth 2.0 é um protocolo de autorização que foi projetado para conceder um acesso a um conjunto de recursos. No desenvolvimento de sistemas esse recurso é muito útil, pois permite que um usuário faça login em uma aplicação sem a necessidade de compartilhar sua senha diretamente com o serviço. Utilizando esse protocolo o usuário autoriza a aplicação a acessar seus dados, através de um token de acesso gerado durante o processo de autorização, facilitando a integração com serviços de terceiros sem comprometer a segurança dos dados do usuário. Sobre o OAuth 2.0, assinale a afirmativa correta.
- A)O valor do tipo de concessão do código do dispositivo é urn:ietf:params:oauth:grant-type:device_code.
Correta: esse é exatamente o valor padronizado do grant type do fluxo de dispositivo no OAuth 2.0.
- B)Clientes especiais são aplicativos que conseguem se autenticar com segurança no servidor de autorização.
Errada: o termo correto é cliente confidencial, não “clientes especiais”, e a afirmação não descreve a nomenclatura técnica do padrão.
- C)MTLS é uma extensão do fluxo do código de autorização para evitar ataques de CSRF e injeção de código de autorização.
Errada: MTLS é uma extensão para vincular o token ao certificado do cliente, e não a proteção específica contra CSRF e injeção de código de autorização.
- D)A extensão Token Reverse define um mecanismo para clientes indicarem ao servidor de autorização que um token de acesso não é mais necessário.
Errada: “Token Reverse” não é a extensão correta; o mecanismo de revogação de token no OAuth 2.0 é tratado por outra especificação.
- E)Os JWTs podem ser usados como tokens de portador do OAuth 2.0 para codificar algumas partes relevantes de um token de acesso desde que não seja no próprio token de acesso.
Errada: JWT pode ser usado como formato de token, inclusive como bearer token, mas a redação está confusa e incorreta ao restringir e separar o uso de forma indevida.
Gabarito: A
O OAuth 2.0 é um protocolo de autorização, não de autenticação, embora na prática apareça muito no “login com Google”, “login com Facebook” e afins. A lógica é simples: a aplicação não recebe a senha do usuário; ela recebe uma autorização limitada, materializada em um token, para acessar apenas os recursos permitidos. Na prova, o ponto central está nos tipos de concessão (grant types) definidos pelo padrão. O fluxo de dispositivo, usado em aparelhos com pouca ou nenhuma interface de entrada, como TVs e consoles, tem exatamente o valor de grant type indicado na alternativa A: urn:ietf:params:oauth:grant-type:device_code. Esse é o identificador padronizado para o dispositivo pedir autorização ao usuário por um canal separado. As demais alternativas misturam conceitos de extensões e mecanismos do ecossistema OAuth 2.0, mas com nomes ou descrições trocados. A banca costuma fazer isso: ela pega algo real, muda um termo e espera que você caia na armadilha. Aqui, a correta é a que traz o valor padronizado do fluxo de dispositivo. Em resumo: se a questão fala em OAuth 2.0 e cita o device flow, memorize o identificador do grant type. Em concurso, o detalhe “urn:ietf:params:oauth:grant-type:device_code” costuma ser o tipo de informação que salva a sua questão.