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 Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Ansible Overview of Ansible architecture

16h

Curso Data Governance Engineering

24 horas

Curso ISO/IEC 20000-1 Certification Service Management

24 horas

Curso Automotive Cloud and Connected Vehicle Security

24 horas

Curso FinOps for AI Practitioners

16 horas