Questão nº 30
Questão de Tecnologia da Informação · FCC TRT22 2022 (nº 30)
Considere a situação abaixo.
Carlos abre um aplicativo no qual são oferecidas 3 formas de acesso à plataforma: com Google, com Facebook e com E-mail. Carlos clica no opção "Acessar com Google". O aplicativo faz uma requisição ao Google Accounts, pedindo uma chave de acesso para consumir um recurso protegido. Quando o Google Accounts recebe o pedido de autorização para acessar um recurso protegido, inicia-se o processo de identificação e autenticação.
Surge a tela do Google para Carlos digitar seu e-mail (@gmail.com), seguida da tela (do Google) para Carlos digitar a senha. Nesse passo, Carlos identifica-se, autentica-se e consente que o aplicativo acesse os recursos protegidos em seu nome. Então, o Google Accounts emite um access token (chave de acesso) para o aplicativo, que poderá acessar os recursos protegidos.
Nessa situação, que ilustra o funcionamento inicial do OAuth2 (RFC 6749), o Google Accounts é o I, Carlos é o II e o aplicativo é o III.
Os roles que preenchem, correta e respectivamente, as lacunas I, II e III são:
- AResource Server − Grant Owner − Protected Resource
- BAuthorization Server − Client − Protected Resource
- CResource Server − Grant Owner − Client
- DRequest Server − Client − Resource Owner
- EAuthorization Server − Resource Owner − Client (alternativa correta)
Resposta comentada
Gabarito Alternativa E
OAuth2 é um protocolo de autorização que permite a um aplicativo (o Cliente) acessar recursos protegidos de um usuário (o Resource Owner) em um serviço (o Resource Server), sem que o aplicativo precise saber a senha do usuário. Quem gerencia essa permissão e emite as chaves de acesso é o Authorization Server.
- (A) Incorreta: Google Accounts é o Authorization Server, não o Resource Server. Carlos é o Resource Owner, não um Grant Owner (termo não padrão). O aplicativo é o Client, não o Protected Resource.
- (B) Incorreta: Embora Google Accounts seja o Authorization Server, Carlos é o Resource Owner (quem possui os recursos), não o Client. O aplicativo é o Client, não o Protected Resource. A armadilha aqui é confundir o usuário (Carlos) com o aplicativo que ele está usando.
- (C) Incorreta: Google Accounts é o Authorization Server, não o Resource Server. Carlos é o Resource Owner, não um Grant Owner (termo não padrão).
- (D) Incorreta: Request Server não é um role padrão do OAuth2. Carlos é o Resource Owner, não o Client. O aplicativo é o Client, não o Resource Owner.
- (E) Correta: Google Accounts atua como Authorization Server ao autenticar Carlos e emitir o access token. Carlos é o Resource Owner, pois ele é o dono dos dados protegidos e quem concede a autorização. O aplicativo é o Client, pois é ele quem solicita e utiliza o access token para acessar os recursos em nome de Carlos.
Fonte: FCC TRT22 2022 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.