O analista João administra o servidor de autenticação Keyclo...
João habilitou em tjapp-client o recurso:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa E é a correta.
Vamos entender por que essa é a resposta correta e analisar as alternativas incorretas para fortalecer o seu aprendizado.
E - service accounts
O recurso que João habilitou em tjapp-client é o service accounts. Em Keycloak, uma service account permite que a própria aplicação cliente obtenha um token de acesso de forma autônoma, sem a necessidade de envolvimento de um usuário final. Este recurso é fundamental para situações onde a comunicação entre servidores ou serviços precisa ser autenticada e autorizada sem intervenção humana, garantindo assim uma maior automação e segurança nos processos.
A - direct grants
Direct grants (ou concessões diretas) é um fluxo de autenticação que permite que os clientes obtenham tokens de acesso usando o nome de usuário e senha do usuário diretamente, sem a necessidade de uma interface de usuário para autenticação. Isso envolve a interação de um usuário final, o que não se aplica ao cenário descrito na questão.
B - client adapters
Client adapters são bibliotecas que facilitam a integração de aplicações com Keycloak, mas não são um recurso que permite a obtenção autônoma de tokens de acesso pela aplicação cliente. Eles ajudam na configuração e comunicação com o servidor Keycloak, mas não atendem ao requisito específico da questão.
C - token mappers
Token mappers são usados para mapear informações adicionais para dentro dos tokens emitidos pelo Keycloak. Eles são úteis para customizar o conteúdo dos tokens, mas não estão relacionados com a obtenção de tokens de forma autônoma pela aplicação cliente.
D - identity brokers
Identity brokers permitem que o Keycloak atue como um intermediário entre provedores de identidade (como SAML ou outros OIDC) e o usuário final. Este recurso é usado para delegar a autenticação a outros provedores, mas não se aplica ao cenário onde uma aplicação precisa obter tokens de acesso sem envolver usuários finais.
Espero que esta explicação tenha ajudado a esclarecer a escolha da alternativa correta, bem como as razões pelas quais as outras alternativas não se aplicam ao cenário apresentado na questão. Se precisar de mais alguma coisa, estou à disposição!
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
Na especificação do OpenID Connect, o recurso que permite obter um token de acesso de forma autônoma, sem envolver nenhum usuário final, é chamado de Client Credentials Grant.
O Client Credentials Grant é um fluxo de concessão OAuth 2.0 que é utilizado quando um cliente deseja obter um token de acesso para si mesmo, sem a interação direta de um usuário final. Esse fluxo é tipicamente usado em cenários de autenticação e autorização entre aplicativos (ou serviços) sem a presença de um usuário interagindo diretamente com o sistema.
Neste fluxo, o cliente envia suas credenciais (ID do cliente e segredo do cliente) diretamente para o servidor de autorização e recebe um token de acesso em troca, que pode então ser usado para acessar recursos protegidos pela API. Como não há envolvimento do usuário final neste processo, é considerado um método de autenticação mais adequado para casos em que a identidade do cliente pode ser verificada de forma segura apenas pela própria aplicação cliente.
Fonte: ChatGPT
direct grant: A way for a client to obtain an access token on behalf of a user via a REST invocation
client adapters: Client adapters are plugins that you install into your application environment to be able to communicate and be secured by Keycloak
identity brokers: is an intermediary service connecting service providers with identity providers. The identity broker creates a relationship with an external identity provider to use the provider’s identities to access the internal services the service provider exposes
service account: Each client has a built-in service account which allows it to obtain an access token
token mappers: Map user attributes, roles, etc. how you want into tokens and statements
Gabarito: C) Adicionar ao nome de cada handler um prefixo diferente.
Resumo do Resumo:
Cada handler deve ser declarado com um nome único no arquivo logging.properties (ex: handler1, handler2).
As propriedades são configuradas individualmente usando esses nomes (ex: handler1.level = INFO, handler2.level = FINE).
Por que as outras estão erradas:
- A) useParentHandlers controla a hierarquia de loggers (não distingue handlers).
- B) O prefixo "multi" não é necessário; nomes únicos simples são suficientes.
- D) Definir level diferente é possível apenas se os handlers tiverem nomes distintos primeiro.
- E) O atributo prefix formata saída (ex: arquivos), mas não identifica handlers.
By Futuro Dev Estável
O Keycloak com service accounts permite que:
a aplicação se logue sozinha
sem precisar de usuário
Exemplo bem fácil
Imagina:
você tem um sistema (TJApp)
ele precisa chamar outro sistema (API)
Só que: não tem ninguém usando (nenhum usuário logado)
O que a aplicação faz?
Ela fala com o Keycloak:
“me dá um token aí”
Mas ao invés de usuário/senha, ela usa:
client_id
client_secret
Resultado
Keycloak gera um token
a aplicação usa esse token pra acessar a API
✔️ tudo automático
✔️ sem humano
Analogia
usuário → pessoa pedindo acesso
service account → robô pedindo acesso
o robô já tem uma “chave” e entra sozinho
Resumo bem simples:
service accounts = aplicação pega token sem usuário
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo