Casa do Código - Livros e Tecnologia

  • Programação
  • Lógica
  • Java
  • .NET
  • PHP
  • Games
  • OO
  • Funcional
  • Python
  • Outros
  • Todos
  • Mobile
  • iOS
  • Android
  • Multiplataforma
  • Outros
  • Todos
  • Front-end
  • HTML e CSS
  • JavaScript
  • Outros
  • Todos
  • Infraestrutura
  • Web
  • Dados
  • Outros
  • Todos
  • Business
  • Startups
  • Marketing Digital
  • Gestão
  • Agile
  • Outros
  • Todos
  • Design & UX
  • Você tem 0 itens na sacola 0 Abrir navegação por categorias e busca Ir para ao topo da página

    Use o código e tenha 10% de desconto!

    OAuth 2.0 Proteja suas aplicações com o Spring Security OAuth2

    Adolfo Eloy
    Livro de OAuth 2.0

    *Você terá acesso às futuras atualizações do livro.

    Conteúdo

    Quando se trata de proteger os recursos de uma aplicação, é comum utilizar OAuth. Ainda assim, percebe-se que ainda existe bastante confusão a respeito dele, havendo até cenários de brechas em sistemas grandes devido ao mau uso da tecnologia. OAuth 2.0 é um protocolo ou um framework? Será que deve ser usado para autenticação ou autorização?

    Neste livro, Adolfo Eloy vem desmistificar essas perguntas, em uma mescla de teoria e prática, alertando para a importância do uso seguro da tecnologia. Por meio de uma aplicação de exemplo, você aprenderá os principais componentes presentes no fluxo do OAuth 2.0, como Resource Owner, Client, Resource Server e Authorization Server, acompanhando diferentes cenários de utilização do protocolo, nos pontos cruciais de segurança da sua aplicação.

    Saiba o que você vai aprender

     

    Sumário

    • 1 Introdução
    • 1.1 Como as APIs são protegidas
    • 1.2 Acessando uma API de um jeito diferente
    • 1.3 Repassando credenciais, um exemplo de anti-pattern
    • 1.4 Delegação de acesso a recursos protegidos
    • 1.5 Soluções para delegação de acesso
    • 1.6 OAuth como solução e sua evolução para o OAuth 2.0
    • 1.7 Suporte a diferentes tipos de aplicação
    • 1.8 Facilidade para o desenvolvedor
    • 1.9 Extensibilidade
    • 1.10 Conclusão
    • 2 O framework de autorização OAuth 2.0
    • 2.1 Papéis definidos pelo OAuth 2.0
    • 2.2 Registro do Client no Authorization Server
    • 2.3 Grant types
    • 2.4 Fluxo básico para obtenção do access token
    • 2.5 Utilização do token de acesso
    • 2.6 Autenticação ou autorização
    • 2.7 Conclusão
    • 3 Iniciando o projeto de exemplo
    • 3.1 Estrutura básica do projeto
    • 3.2 O projeto Lombok
    • 3.3 Spring Boot
    • 3.4 Configuração do banco de dados
    • 3.5 Modelo de classes do projeto
    • 3.6 Subindo a aplicação
    • 3.7 A criação da API
    • 3.8 Conclusão
    • 4 Proteja a aplicação com Spring Security
    • 4.1 Configuração da aplicação usando XML
    • 4.2 Configuração efetiva com anotações
    • 4.3 Recuperar os dados do Resource Owner
    • 4.4 Conclusão
    • 5 Exemplo de aplicação cliente
    • 5.1 O funcionamento da aplicação client
    • 5.2 Integração repassando as credenciais
    • 5.3 Conclusão
    • 6 O Spring Security OAuth2
    • 6.1 Authorization Server e Resource Server juntos
    • 6.2 Authorization Server e Resource Server separados
    • 6.3 Configuração do Spring Security OAuth2
    • 6.4 Configuração do Resource Server
    • 6.5 Configuração inicial do Authorization Server
    • 6.6 Registro do Client no Authorization Server
    • 6.7 Conclusão
    • 7 Password credentials grant type
    • 7.1 Configurando o Authorization Server
    • 7.2 Entendendo cada etapa do grant type Password
    • 7.3 Implementação do Client
    • 7.4 Quando usar o grant type Password
    • 7.5 Conclusão
    • 8 Funcionamento interno do Spring Security OAuth2
    • 8.1 Acesso aos recursos de usuário específico
    • 8.2 Conclusão
    • 9 Authorization Code grant type
    • 9.1 Visão geral das etapas do grant type Authorization Code
    • 9.2 Configurando o Authorization Server
    • 9.3 Etapa de autorização
    • 9.4 Etapa de solicitação do token
    • 9.5 Utilizando o token de acesso
    • 9.6 Implementação do Client
    • 9.7 Quando usar o grant type Authorization Code
    • 9.8 Conclusão
    • 10 Implicit grant type para aplicações no Browser
    • 10.1 Configurando o Authorization Server
    • 10.2 Etapa de autorização e solicitação do token
    • 10.3 Erros durante a etapa de autorização
    • 10.4 Implementação do Client
    • 10.5 Quando usar o grant type Implicit
    • 10.6 Conclusão
    • 11 Client Credentials
    • 11.1 Implementação do novo serviço para aplicações internas
    • 11.2 Solicitação do token de acesso
    • 11.3 Implementação do Client
    • 11.4 Quando usar o grant type Client Credentials
    • 11.5 Conclusão
    • 12 Refresh Tokens e escopos para aumentar a segurança
    • 12.1 Quando usar refresh tokens e como configurar
    • 12.2 Adicionando suporte a refresh token
    • 12.3 Validando os escopos durante o acesso a uma API
    • 12.4 Configuração dos endpoints com escopos
    • 12.5 Configurando roles para os usuários
    • 12.6 Relacionando escopos e roles
    • 12.7 Conclusão
    • 13 Adicionando suporte a banco de dados no projeto
    • 13.1 A definição do banco de dados
    • 13.2 Criando o banco de dados para o Authorization Server
    • 13.3 Configurando a aplicação para usar o banco de dados
    • 13.4 Configuração do Authorization Server
    • 13.5 Conclusão
    • 14 Client com o Spring Security OAuth2
    • 14.1 Situação atual do Client
    • 14.2 Iniciando a configuração do Spring Security OAuth2 para o Client
    • 14.3 Usando o banco de dados para manter os dados do token do usuário
    • 14.4 Requisição usando OAuth2RestTemplate nos bastidores
    • 14.5 Conclusão
    • 15 Alternativas para validação de tokens
    • 15.1 Introspecção de tokens
    • 15.2 Introspecção com o Spring Security OAuth2
    • 15.3 Testando o endpoint check_token
    • 15.4 Como usar a validação remota
    • 15.5 Quando usar a abordagem de validação remota
    • 15.6 Tokens autocontidos com JWT
    • 15.7 Usando JWT com Spring Security OAuth2
    • 15.8 Adicionando claims customizadas
    • 15.9 Conclusão
    • 16 OAuth 2.0 como base para autenticação
    • 16.1 Por que não usar OAuth 2.0 para autenticação?
    • 16.2 OpenID Connect como solução para autenticação
    • 16.3 Fluxo de autenticação usando OpenID Connect
    • 16.4 Interações dinâmicas entre Relying Party e Identity Provider
    • 16.5 Autenticação com uma conta Google
    • 16.6 Obtendo os dados de autenticação do usuário
    • 16.7 Conclusão
    • 17 Algumas considerações sobre segurança
    • 17.1 Modelo de ameaças de segurança para o protocolo OAuth 2.0
    • 17.2 Análise da aplicação bookserver
    • 17.3 A importância da URI de redirecionamento
    • 17.4 A importância do parâmetro state
    • 17.5 Detalhes importantes para o Client
    • 17.6 Conclusão
    • 18 Bibliografia

    Autor

    Adolfo Eloy

    Adolfo Eloy Nascimento trabalha com desenvolvimento de software há pouco mais de 15 anos, é formado em Ciência da Computação pela Faculdade Instituto Tecnológico de Osasco (FAC-FITO) e atualmente trabalha como Software Engineer no Elo7. Possui experiência com a linguagem Java mas já trabalhou com outras linguagens como JavaScript, Ruby, C e PHP5. Sempre está interessado em aprender e contribuir para o desenvolvimento de software, seja programando ou compartilhando conhecimento através de posts no blog Devadventures e artigos para revista Java Magazine.

    Dados do produto

    Número de páginas:
    366
    ISBN:
    978-85-94188-12-0
    Data publicação:
    09/2017
    Submeter errata Fórum de discussões

    Compartilhe!

    Compartilhe no Facebook Compartilhe no Twitter

    Impulsione sua carreira aprendendo também...

    Livro de Spring Boot
    Spring Boot
    +
    Livro de Segurança
    Segurança
    altLogoFooter

    Links da
    Casa do Código

    • Meus ebooks
    • Sobre a Casa do Código
    • Todos os livros
    • Nossas coleções
    • Quero escrever um livro ou fazer parceria
    • Perguntas Frequentes
    • Política de Privacidade
    • Fale conosco

    Nas redes sociais

    • /CasaDoCodigo
    • @casadocodigo
    • @casadocodigo

    Receba novidades e lançamentos

    Este site aceita Pix, Cartão de Crédito, Débito

    • pagarme
    • paypal

    Grupo Alura

    • Educação em Tecnologia

      • FIAP
      • Casa do Código
      • PM3 - Cursos de Produto
    • Mais Alura

      • Alura Start
      • Alura Língua
      • Alura Para Empresas
      • Alura LATAM
    • Comunidade

      • Tech Guide
      • 7 days of code
      • Hipsters ponto Jobs
    • Podcasts

      • Hipsters ponto Tech
      • Dev sem Fronteiras
      • Layers ponto Tech
      • Like a Boss
      • Scuba Dev