Com relação às soluções de autenticação Web, analise as afirmativas a seguir. I. JWT é um padrão definido mais recentemente que o SAML, sendo mais usado para API RESTful. II. Os tokens usados no padrão SAML e JWT utilizam o formato JSON. III. O auth2 é um protocolo de autorização que define como tokens serão transferidos, enquanto JWT apenas define o formato de um token. Está correto o que se afirma em
- A)I, apenas.
A alternativa sustenta que somente a afirmativa I está correta, isto é, que o JWT é mais recente que o SAML e é mais usado em APIs RESTful. Esse trecho está adequado, porque o JWT foi padronizado depois do SAML e ganhou grande uso em aplicações web e APIs stateless. O problema é que a afirmativa III também está correta, pois OAuth 2.0 é um framework de autorização e o JWT é apenas um formato de token.
- B)II, apenas.
A alternativa afirma que apenas a afirmativa II estaria certa, isto é, que tanto SAML quanto JWT usariam JSON como formato de token. Isso está errado no mérito, porque o SAML trabalha com assertions em XML, enquanto o JWT é que usa estrutura JSON. Portanto, a afirmação II erra justamente ao atribuir JSON ao SAML.
- C)III, apenas.
A alternativa diz que somente a afirmativa III está correta, isto é, que OAuth 2.0 trata da autorização e do uso/transmissão de tokens, enquanto o JWT define só o formato do token. Essa ideia está correta, porque OAuth 2.0 é um protocolo/framework de autorização e o JWT é uma representação padronizada de claims. O erro da alternativa é excluir a afirmativa I, que também é verdadeira, pois o JWT é posterior ao SAML e muito empregado em APIs RESTful.
- D)I e II, apenas.
A alternativa combina a afirmativa I com a II. A primeira parte está correta, porque o JWT é uma solução mais recente e muito comum em cenários de API RESTful. Já a segunda parte está errada, pois o SAML não usa JSON - seus tokens/asserções são estruturados em XML, o que derruba o conjunto proposto.
- E)I e III, apenas.
A alternativa reúne as afirmativas I e III, que são as duas corretas. O JWT é posterior ao SAML e se popularizou em aplicações web e APIs RESTful, enquanto OAuth 2.0 é o mecanismo de autorização que organiza a obtenção e o uso de tokens, e o JWT apenas descreve a estrutura do token. Por isso, essa é a combinação que corresponde ao conteúdo técnico da questão.
Gabarito: E
Nesta questão, vale separar bem as tecnologias. O JWT (JSON Web Token) é um padrão mais recente e muito comum em APIs RESTful, porque ele carrega informações em um formato leve e fácil de trafegar entre cliente e servidor. Já o SAML é mais antigo e aparece muito em cenários de Single Sign-On, especialmente em ambientes corporativos. A afirmativa II está errada porque o SAML não usa JSON como formato principal. No SAML, o artefato típico é a asserção em XML. O JWT, por sua vez, usa JSON na sua estrutura. Ou seja: misturar SAML com JSON é a pegadinha clássica da questão. A afirmativa III está correta no sentido conceitual: OAuth 2.0 é um protocolo de autorização, isto é, ele define como a autorização e o acesso por tokens acontecem, enquanto o JWT define apenas o formato do token. Um ponto importante de doutrina: OAuth 2.0 trata de concessão de acesso, não de autenticação pura, embora muitas soluções o usem junto com OpenID Connect para autenticação. Por isso, o gabarito é a letra E: a afirmativa I está certa e a III também, enquanto a II está errada.