SAML (Security Assertion Markup Language) e OAuth 2 são frameworks utilizados para controlar o acesso a aplicações Web. Para controlar o acesso às aplicações:
- A)SAML utiliza tokens JWT (JSON Web Token) para autenticação e autorização do acesso;
Errada, porque SAML trabalha com asserções XML e não usa JWT como mecanismo padrão de autenticação e autorização.
- B)OAuth 2 possibilita o uso de refresh tokens para obtenção de novos access tokens;
Certa, porque o OAuth 2 permite usar refresh tokens para obter novos access tokens quando os anteriores expiram.
- C)SAML e OAuth 2 requerem o uso do certificado digital do servidor de autorização para gerar tokens;
Errada, porque nem SAML nem OAuth 2 exigem certificado digital do servidor de autorização para gerar tokens.
- D)SAML e OAuth 2 utilizam provedores de identificação e autorização que geram tokens do tipo JWT (JSON Web Token) Assertion;
Errada, porque SAML não gera JWT e SAML e OAuth 2 não usam essa descrição única de provedor de identificação e autorização.
- E)SAML e OAuth 2 requerem o uso do Single Sign-On (SSO) no servidor de autorização.
Errada, porque SSO pode existir em alguns cenários, mas não é requisito obrigatório do servidor de autorização para esses frameworks.
Gabarito: B
SAML e OAuth 2 aparecem muito em questões porque ambos ajudam no controle de acesso, mas fazem isso de jeitos diferentes. O SAML é mais ligado a troca de asserções de autenticação entre um provedor de identidade e um provedor de serviço, enquanto o OAuth 2 é um framework de autorização, usado para conceder acesso delegado a recursos sem expor a senha do usuário. Na prática, o OAuth 2 trabalha com access tokens e, muitas vezes, com refresh tokens. O access token costuma ter vida curta, para reduzir o estrago se ele vazar. Quando ele expira, o refresh token pode ser usado para obter um novo access token sem pedir que o usuário faça login de novo. É exatamente essa a ideia da alternativa B. A pegadinha clássica aqui é misturar os papéis: SAML não é o modelo típico de JWT para autenticação e autorização, e OAuth 2 não exige certificado digital do servidor de autorização para gerar tokens. Além disso, SSO pode aparecer em cenários com SAML, mas não é requisito obrigatório do framework como a questão tenta sugerir. Resumo de prova: se a frase falar em refresh token e renovação de access token no OAuth 2, acenda a luz verde. Se tentar empurrar para SAML conceitos próprios de JWT, certificado ou exigências fixas de SSO, desconfie bastante.