A analista Joana implementou o sistema de autorização da ap...
Joana atribuiu ao response_type o valor:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa Correta: A - code
O tema abordado pela questão é o protocolo OAuth2, mais especificamente o fluxo de concessão por código de autorização. Esse é um dos métodos mais comuns e seguros para obter tokens de acesso em uma aplicação, fundamental para garantir a segurança na autenticação e autorização de usuários em sistemas e serviços.
Vamos entender melhor o funcionamento e os termos envolvidos:
O protocolo OAuth2 é um padrão aberto para autorização, comumente usado para permitir que aplicativos acessem recursos protegidos em nome de um usuário. Ele oferece diferentes tipos de fluxos, ou concessões, para diferentes casos de uso.
Quando Joana decidiu implementar o fluxo de concessão por código de autorização, ela optou por um processo em que o cliente (aplicação) primeiro obtém um código de autorização do servidor de autorização, que posteriormente troca por um token de acesso. Para indicar ao servidor de autorização que esse é o fluxo desejado, ela define o parâmetro response_type como code.
Agora, vamos justificar a alternativa correta e analisar por que as outras são incorretas:
Resposta Correta (A - code): No fluxo de concessão por código de autorização, o valor do parâmetro response_type deve ser code. Este valor indica que a aplicação está solicitando um código de autorização, que será trocado por um token de acesso.
Alternativas Incorretas:
B - token: Este valor para o parâmetro response_type é usado no fluxo de concessão implícita, onde o token de acesso é retornado diretamente da solicitação de autorização, sem passar por um código de autorização. Este fluxo é menos seguro e geralmente usado em aplicações puramente client-side.
C - auth-code: Este não é um valor válido para o parâmetro response_type conforme a especificação OAuth2. A especificação usa code para se referir ao fluxo de concessão por código de autorização.
D - access-token: Similar ao token, este valor não é usado no OAuth2. O fluxo que retorna um token de acesso diretamente usa apenas token como valor de response_type.
E - client-credentials: Este é um tipo de concessão diferente, onde o cliente usa suas próprias credenciais para obter um token de acesso, e não envolve um usuário específico. Não é relacionado ao response_type no contexto de fluxos de autorização como o de código.
Portanto, a resposta correta é a alternativa A - code, pois é o valor correto para o parâmetro response_type no fluxo de concessão por código de autorização no protocolo OAuth2.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
O parâmetro é uma parte fundamental de uma solicitação de autorização OAuth 2.0 e está relacionado ao fluxo de autorização utilizado. Ele especifica o tipo de resposta que o cliente espera do provedor de serviços OAuth após o usuário conceder permissão. Aqui estão os principais valores que o pode ter e como eles se relacionam com os diferentes fluxos de autorização do OAuth 2.0:
(Autorização de Código):
- Este valor é usado principalmente com o fluxo de autorização do tipo "Authorization Code".
- Quando o é definido como , o provedor de serviços OAuth retorna um código de autorização para o cliente após o usuário conceder permissão.
- O cliente pode então trocar esse código de autorização por um token de acesso.
(Implicit Flow):
- Este valor é usado com o fluxo de autorização do tipo "Implicit Flow".
- Quando o é definido como , o provedor de serviços OAuth retorna diretamente um token de acesso para o cliente após o usuário conceder permissão.
- Não há necessidade de trocar um código de autorização por um token de acesso, pois o token é retornado imediatamente.
(OpenID Connect):
- Este valor é usado principalmente com o OpenID Connect, que é uma camada de autenticação sobre o OAuth 2.0.
- Quando o é definido como , o provedor de serviços OAuth retorna um token de identificação (id_token) ao cliente, que contém informações sobre a identidade do usuário autenticado.
- Isso é usado para autenticar o usuário em um aplicativo e obter informações de perfil, além de um possível token de acesso para autorização.
O valor do é especificado na solicitação de autorização enviada pelo cliente ao provedor de serviços OAuth. Ele indica o tipo de resposta que o cliente espera receber e direciona o provedor de serviços sobre como processar a solicitação de autorização.
Existem alguns fluxos de autorizaçao:
1 - Authorization Code = "código de autorização"
- Nesse caso o requisitante envia para o endpoint de autorização que o response_type = code.
2 - Implicit
- Nesse fluxo o requisitante informa ao endpoint de autorização que quer o token de acesso direto, sem cumprir a etapa de autorização, isso acontece informando response_type = token.
a-
code: Authorization Code Grant (the most secure, used for web/mobile apps).
token: Implicit Grant (for client-side apps, less secure).
client-credentials: Machine-to-machine communication (no user interaction).
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo