Curso OpenID Connect in Action

  • DevOps | CI | CD | Kubernetes | Web3

Curso OpenID Connect in Action

20 horas
Visão Geral

Curso OpenID Connect in Action. Este curso prático e aprofundado foi desenhado para desenvolvedores, arquitetos de segurança, engenheiros de backend e profissionais de DevOps que precisam entender, implementar e gerenciar a autenticação e federação de identidades usando OpenID Connect (OIDC) em suas aplicações e ecossistemas distribuídos. Em um mundo onde a segurança e a experiência do usuário são primordiais, o OIDC se tornou o padrão ouro para autenticação. Do ponto de vista técnico, você mergulhará nos fluxos do OIDC (Authorization Code Flow, Implicit Flow, Hybrid Flow), entenderá a estrutura dos ID Tokens (JWT) e como utilizá-los de forma segura. Abordaremos como integrar aplicações como clientes OIDC e como configurar um Provedor de Identidade (IdP). O curso cobrirá cenários práticos de integração com frameworks populares (como Spring Security para Java e Keycloak como IdP), boas práticas de segurança (PKCE, validação de tokens), tratamento de sessões e single sign-on (SSO), e aspectos de logout. O foco será em aprender "fazendo", com exercícios práticos e exemplos de código que simulam ambientes de produção.

Curso OpenID Connect in Action, a implementação de uma estratégia de autenticação robusta e eficiente é fundamental para a segurança, a conformidade e a satisfação do cliente. O OpenID Connect oferece uma solução padronizada que simplifica o processo de login para os usuários (SSO), reduz a complexidade de desenvolvimento de segurança e aumenta a confiança na proteção de dados. Empresas que adotam o OIDC podem melhorar a experiência do usuário, reduzir os riscos de segurança, acelerar o tempo de lançamento de novos serviços e escalar sua infraestrutura de autenticação de forma eficiente. Profissionais que dominam o OpenID Connect são altamente valorizados no mercado, pois são essenciais para construir e manter sistemas seguros e escaláveis que atendam às demandas de segurança e usabilidade modernas.

Objetivo

Ao final do Curso OpenID Connect in Action, você será capaz de:

  • Compreender os conceitos fundamentais de autenticação e federação de identidades.
  • Entender a relação entre OAuth 2.0 e OpenID Connect.
  • Dominar os diferentes fluxos do OIDC (Authorization Code Flow, Implicit Flow, Hybrid Flow) e suas aplicações.
  • Interpretar e validar ID Tokens (JWTs) e Access Tokens.
  • Configurar e integrar aplicações como clientes OIDC em diversos cenários (web apps, SPAs, mobile, APIs).
  • Utilizar um Provedor de Identidade (IdP) como o Keycloak para gerenciar usuários e autenticação.
  • Implementar boas práticas de segurança no OIDC, como PKCE (Proof Key for Code Exchange).
  • Gerenciar sessões de usuário, single sign-on (SSO) e single logout (SLO).
  • Diagnosticar e resolver problemas comuns em implementações OIDC.
Publico Alvo
  • Desenvolvedores (Java, .NET, Node.js, Python): Que precisam implementar autenticação em suas aplicações.
  • Arquitetos de Segurança: Para projetar e validar soluções de identidade baseadas em OIDC.
  • Engenheiros de Backend: Que constroem APIs protegidas por OIDC.
  • Profissionais de DevOps: Que gerenciam e operam provedores de identidade e aplicações integradas.

 

  • Qualquer profissional interessado em aprofundar seus conhecimentos em autenticação moderna e federação de identidades.
Pre-Requisitos
  • Conhecimento básico de HTTP e conceitos REST: Métodos, headers, códigos de status.
  • Noções básicas de JSON e JWT (JSON Web Tokens): Estrutura e assinatura.
  • Familiaridade com conceitos de autenticação e autorização: O que são, para que servem.
  • (Desejável) Conhecimento básico de desenvolvimento web (qualquer linguagem/framework).

 

  • (Desejável) Noções de Docker para o ambiente de laboratório.
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico

Módulo 1: Fundamentos da Autenticação e Introdução ao OIDC (4 horas)

  • 1.1. Autenticação e Autorização: Revisão de Conceitos:
    • Identidade, Credenciais, Provedores de Identidade (IdP) e Provedores de Serviço (SP).
    • Sessões, Cookies, Tokens.
    • Single Sign-On (SSO): O problema a ser resolvido.
  • 1.2. Evolução da Autenticação na Web:
    • Autenticação Tradicional (baseada em sessão).
    • OAuth 2.0: Delegação de Autorização (não é para autenticação!).
    • Hands-on: Entender um fluxo OAuth 2.0 de delegação de acesso com Postman.
  • 1.3. Introdução ao OpenID Connect (OIDC):
    • OIDC como uma camada de autenticação sobre OAuth 2.0.
    • Por que o OIDC é o padrão de fato para autenticação.
    • Papéis no OIDC: End-User, Relying Party (Cliente), OpenID Provider (OP).
  • 1.4. JSON Web Tokens (JWT) no OIDC:
    • Estrutura de um JWT (Header, Payload, Signature).
    • ID Token vs. Access Token: Diferenças e propósitos.
    • Assinatura de JWTs (JWS) e Criptografia (JWE - conceitual).
    • Hands-on: Decodificar JWTs online e identificar suas partes.
  • Prática: Revisar conceitos de OAuth 2.0. Entender o papel do OIDC. Decodificar JWTs para visualizar claims (reivindicações).

Módulo 2: O OpenID Provider (OP) e a Configuração do Cliente (5 horas)

  • 2.1. Configurando um OpenID Provider (IdP): Keycloak:
    • Hands-on: Instalar e configurar o Keycloak via Docker Compose.
    • Criar Realms, Usuários, Clientes (Clients) OIDC.
    • Configurar Scopes, Roles e Mappers no Keycloak.
  • 2.2. Descoberta do Provedor OIDC (Discovery Endpoint):
    • O papel do .well-known/openid-configuration.
    • Informações de endpoints, capacidades e chaves públicas (JWKS URI).
    • Hands-on: Acessar o Discovery Endpoint do Keycloak e analisar as informações.
  • 2.3. Registrando um Cliente OIDC (Relying Party):
    • Client ID, Client Secret.
    • redirect_uris, post_logout_redirect_uris.
    • Tipos de Resposta (response_type).
  • 2.4. O Fluxo Authorization Code Flow (Código de Autorização):
    • O fluxo mais seguro para aplicações web e SPA/Mobile com PKCE.
    • authorize endpoint, token endpoint, userinfo endpoint.
    • Hands-on: Simular o Authorization Code Flow com Postman, observando os passos e os tokens gerados.
  • Prática: Configurar um Keycloak localmente. Criar um cliente OIDC. Executar e entender o Authorization Code Flow manualmente via Postman.

Módulo 3: Implementando Clientes OIDC em Aplicações (5 horas)

  • 3.1. Clientes OIDC para Aplicações Web Tradicionais (Spring Security como exemplo):
    • Hands-on: Integrar uma aplicação Spring Boot como cliente OIDC usando spring-boot-starter-oauth2-client.
    • Configuração do application.properties.
    • Acessando o Principal autenticado e as claims do ID Token.
  • 3.2. Clientes OIDC para Single Page Applications (SPAs) e Mobile:
    • Desafios de segurança em SPAs (sem client secret).
    • Proof Key for Code Exchange (PKCE): Como funciona e por que é essencial.
    • Uso de bibliotecas OIDC (ex: oidc-client-js - conceitual).
    • Hands-on: Entender o fluxo de PKCE e como ele adiciona segurança.
  • 3.3. Protegendo APIs REST com OIDC (Recursos Protegidos):
    • Uso do Access Token para autorização.
    • Validação do Access Token (introspecção vs. validação local de JWT).
    • Configurando a validação de JWTs em um backend (ex: Spring Security Resource Server).
    • Hands-on: Criar uma API protegida por OAuth2/OIDC e consumir o Access Token.
  • Prática: Desenvolver uma aplicação Spring Boot que atua como cliente OIDC, autenticando usuários via Keycloak. Criar uma API que valida o Access Token.

Módulo 4: Gerenciamento de Sessões, Logout e Boas Práticas (4 horas)

  • 4.1. Gerenciamento de Sessões e Single Sign-On (SSO):
    • Sessões no lado do cliente (cookies, Local Storage).
    • Sessões no lado do OP (Keycloak).
    • Como o SSO é alcançado no OIDC.
  • 4.2. Fluxos de Logout:
    • Single Logout (SLO): Desafios e implementação (Front-Channel Logout, Back-Channel Logout).
    • id_token_hint, post_logout_redirect_uri.
    • Hands-on: Implementar um fluxo de logout em sua aplicação cliente.
  • 4.3. Renovação de Tokens (Refresh Tokens):
    • Propósito dos Refresh Tokens e como usá-los com segurança.
    • Hands-on: Configurar a renovação de tokens no Keycloak e no cliente.
  • 4.4. Boas Práticas e Considerações de Segurança:
    • Validação de todos os campos do ID Token (iss, aud, exp, iat, nonce).
    • Cross-Site Request Forgery (CSRF) no contexto OIDC.
    • Armazenamento seguro de client secrets e refresh tokens.
    • Uso de HTTPS obrigatório.
    • Considerações sobre scope e claims.
  • Prática: Implementar e testar o logout. Configurar a renovação de tokens. Discutir e aplicar as melhores práticas de segurança no projeto.

Módulo 5: Cenários Avançados e Troubleshooting (2 horas)

  • 5.1. Fluxos Implicit e Hybrid (Quando Usar/Não Usar):
    • Implicit Flow: Simplicidade vs. Riscos de Segurança (depreciado para a maioria dos casos).
    • Hybrid Flow: Combinação de Authorization Code e Implicit.
    • Hands-on: Entender os fluxos e por que o Authorization Code + PKCE é preferível.
  • 5.2. OIDC e APIs Baseadas em Funções/Roles:
    • Como mapear roles e permissões do IdP para a aplicação cliente.
    • Uso do Userinfo Endpoint para obter claims adicionais.
  • 5.3. Troubleshooting Comum em OIDC:
    • Erros de redirect_uri inválido.
    • Problemas de validação de token (signature verification failed, expired token).
    • Erros de scope e permissões.
  • 5.4. Integração com Outros Provedores (Google, Auth0, Azure AD - conceitual):
    • Similitudes e diferenças na configuração OIDC.
  • 5.5. Próximos Passos na Segurança de Identidades:
    • Autenticação Multifator (MFA).
    • Federação de identidades com outros IdPs.
    • Graph API e gerenciamento de usuários.
  • Prática: Realizar exercícios de troubleshooting. Discutir cenários complexos e as melhores soluções.
TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h