Questão FC890713
A analista Renata está implementando o fluxo Authorization Code Grant com Proof Key for Code Exchange (PKCE), do OAuth 2.0, em um aplicativo mobile, a fim de acessar uma API proteg
Recursos e Ferramentas de Segurança da Informação
FGV · 2026
A analista Renata está implementando o fluxo Authorization Code Grant com Proof Key for Code Exchange (PKCE), do OAuth 2.0, em um aplicativo mobile, a fim de acessar uma API protegida. Conforme as especificações do OAuth 2.0 para esse fluxo, o servidor de autenticação deve efetuar certas validações na fase de troca do código de autorização pelo token de acesso. A passagem de parâmetros para o servidor de autenticação foi implementada pela analista de forma correta, ao longo de todo o fluxo.
Cabe ao servidor de autorização verificar, na referida fase, se:
- o code e o challenge recebidos são válidos e se o challenge foi derivado do respectivo verifier;
- o code e o verifier recebidos são válidos e se o challenge foi derivado do respectivo verifier;
- o challenge e o verifier recebidos são válidos e se o challenge foi derivado do respectivo code;
- o code e o verifier recebidos são válidos e se o verifier foi derivado do respectivo challenge;
- o challenge e o verifier recebidos são válidos e se o code foi derivado do respectivo challenge.
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
Na fase de troca do código, o servidor deve confirmar que o code recebido é válido e está associado àquela requisição (não expirou, não foi usado e corresponde ao cliente/redirect URI original).
Também precisa verificar o verifier enviado em texto claro e checar se ele gera o challenge que foi armazenado na requisição de autorização. Em PKCE o cliente derivou o challenge a partir do verifier usando, em geral, SHA-256.
A validação técnica é aplicar a mesma função e comparar: \( \text{code\_challenge} \stackrel{?}{=} \text{BASE64URL-ENCODE}(SHA256(code\_verifier)) \). Se houver correspondência, o servidor atesta que quem troca o code é quem iniciou a autorização.
Somente com o code válido e o challenge comprovadamente derivado do verifier o servidor emite o token; caso contrário, rejeita a troca.
Conteúdo do catálogo FC Concursos · Atualizado em