Questão de Segurança da Informação — OAuth — FCC 2024
Segurança da Informação›OAuth
Código
fc147374
Banca
FCC
Órgão
TRT 20
Ano
2024
Cargo
TJ TRT20
O parâmetro scope no OAuth 2.0 é usado para especificar
Ao método de autenticação do cliente.
Bo tipo de token de acesso a ser emitido.
Cos recursos e permissões que o cliente deseja acessar.
Do servidor de autorização será utilizado .
Eo tempo de vida do token de acesso.
Revelar gabarito e comentário▾
GabaritoC — os recursos e permissões que o cliente deseja acessar.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
OAuth 2.0: o parâmetro scope e a delimitação de acesso
Gabarito: letra C. No OAuth 2.0, o parâmetro scope especifica os recursos e permissões que o cliente deseja acessar em nome do usuário — é ele que delimita o escopo da autorização concedida. As demais alternativas confundem o scope com outros elementos do protocolo: o método de autenticação do cliente é definido pelo client_secret/client_authentication, o tipo de token é definido pelo token_type/grant_type, o servidor de autorização é uma entidade do fluxo (não um parâmetro) e o tempo de vida do token é controlado pelo expires_in.
O OAuth 2.0 é um protocolo de autorização, não de autenticação. Ele permite que uma aplicação (cliente) acesse recursos protegidos de um usuário (proprietário do recurso) sem que o usuário precise compartilhar suas credenciais com a aplicação. Em vez disso, o usuário autoriza o acesso, e o servidor de autorização emite um token de acesso que o cliente apresenta ao servidor de recursos para obter os dados.
O parâmetro scope é um dos elementos centrais desse fluxo. Quando o cliente solicita um token, ele informa quais permissões precisa — por exemplo, "ler e-mails" ou "acessar dados do perfil". O servidor de autorização, após a aprovação do usuário, emite um token que carrega exatamente essas permissões. Isso permite um controle granular: o usuário pode conceder acesso a apenas parte dos seus dados, e não a tudo.
Para entender a questão, é essencial distinguir os papéis e parâmetros do OAuth 2.0:
Elemento
Função
scope
Define os recursos e permissões solicitados pelo cliente
client_secret
Credencial usada para autenticar o cliente
grant_type
Define o fluxo de autorização (ex.: authorization_code, client_credentials)
expires_in
Tempo de vida do token de acesso
token_type
Tipo do token (ex.: Bearer)
Authorization Server
Servidor que autentica o usuário e emite tokens
Resource Server
Servidor que hospeda os recursos protegidos e valida tokens
A pegadinha da banca está em associar o scope a elementos que, embora façam parte do protocolo, têm funções distintas. O candidato que decora os nomes dos parâmetros sem entender o papel de cada um tende a confundir scope com client_secret (autenticação do cliente) ou com expires_in (tempo de vida).
NÃO CAIA NESSA!
A banca explora a confusão entre os parâmetros do OAuth 2.0. O scopenão define o método de autenticação do cliente (isso é papel do client_secret), não define o tipo de token (isso é papel do grant_type/token_type) e não define o tempo de vida do token (isso é papel do expires_in). O scope é exclusivamente sobre o que o cliente quer acessar — recursos e permissões. Memorize: scope = escopo de acesso.
Alternativa A — ❌ Incorreta
O método de autenticação do cliente no OAuth 2.0 é definido por outros mecanismos, como o client_secret (para clientes confidenciais) ou o client_authentication no token endpoint. O scope não tem relação com a autenticação do cliente — ele diz respeito ao que o cliente quer acessar, não a como ele se identifica.
Alternativa B — ❌ Incorreta
O tipo de token de acesso a ser emitido é determinado pelo grant_type (o fluxo de autorização utilizado) e pelo token_type (ex.: Bearer). O scope não define o tipo de token, mas sim as permissões que o token carregará. Um mesmo tipo de token (ex.: Bearer) pode carregar diferentes escopos.
Alternativa C — ✅ Correta ⟵ GABARITO
O scope especifica exatamente os recursos e permissões que o cliente deseja acessar. Quando o cliente faz uma solicitação de token, ele inclui o parâmetro scope para indicar o nível de acesso necessário. O servidor de autorização, após a aprovação do usuário, emite um token restrito a esse escopo. É o mecanismo que permite o controle granular de permissões — o usuário pode conceder acesso a apenas parte dos seus dados.
Alternativa D — ❌ Incorreta
O servidor de autorização é uma entidade do fluxo OAuth, não um parâmetro da requisição. Ele é o componente responsável por autenticar o usuário e emitir tokens. O scope é um parâmetro enviado na requisição de autorização/token, não uma referência ao servidor.
Alternativa E — ❌ Incorreta
O tempo de vida do token de acesso é controlado pelo parâmetro expires_in, que indica em quantos segundos o token expira. O scope não tem relação com a validade temporal do token — ele define o que o token permite acessar, não por quanto tempo.
Gabarito: letra C — o scope especifica os recursos e permissões que o cliente deseja acessar.