Implementando um servidor de autorização OAuth2 na prática

Implementando um servidor de autorização OAuth2 na prática

Introdução

Visão geral da seção: Nesta seção, o palestrante apresenta o projeto Spin Autorization Server e explica como utilizá-lo.

O que é o Spin Autorization Server?

  • É um projeto recente do ecossistema Spring que substituiu o Spring Security.
  • Possui algumas funcionalidades do Spring Security e outras específicas.
  • A documentação não está completa, mas há exemplos de implementação no GitHub.

Como funciona a integração das aplicações?

  • O projeto é composto por três aplicações Spring 3 apenas rest (di pulci, adipocytes e of server).
  • As aplicações têm bancos de dados isolados.
  • A aplicação di pulci consulta a aplicação de usuários para buscar os usuários cadastrados nas publicações.

Implementando o Spring Authorization Server

Visão geral da seção: Nesta seção, o palestrante mostra como implementar o Spring Authorization Server em um projeto existente.

Adicionando a dependência do Spring Authorization

  • Adicionar a dependência do grupo "org.springframework.security" e artefato "spring-security-oauth2-authorization-server" na versão 15.02.1 ao arquivo pom.xml.

Configurando o Spring Authorization

  • Não há informações suficientes nesta seção para criar uma lista de pontos importantes.

Configuração de Segurança

Visão geral da seção: Nesta seção, o palestrante fala sobre a classe de configuração e como ela é usada para habilitar o Spring Security. Ele também menciona a importância de seguir as recomendações do guia web do Spring.

Classe de Configuração

  • A classe de configuração é usada para habilitar o Spring Security.
  • É recomendado seguir as recomendações do guia web do Spring.

Filtros de Segurança

  • O primeiro filtro é usado para aplicar as configurações padrão do Office.
  • A primeira opção aqui é manter a ordem padrão usando @Order.
  • A segunda filtragem é usada para configurar as configurações adicionais, como bloquear URLs específicas.

Clientes Wolf 23

  • Um cliente repositor em memória ou no banco de dados pode ser usado para configurar os clientes Wolf 23.
  • O primeiro cliente configurado será o cliente para acessar usuários aprendizes usando apenas client credentials flow.

Configuração de Autenticação do Cliente

Visão Geral da Seção: Nesta seção, o palestrante explica como configurar a autenticação do cliente e identificação do mesmo.

Identificação do Cliente

  • O nome identificador do cliente é definido pelo usuário e pode ser customizado.
  • A configuração de autenticação do cliente é feita utilizando o método "beijo".
  • É necessário configurar as permissões de leitura e escrita dos usuários no back-end.

Configuração de Token

  • É necessário configurar o tempo de acesso ao token gerado pelo back-end.
  • Não é necessário utilizar um refresh token para autenticação do cliente por senha, pois o back-end já tem acesso à senha e usuário do cliente.
  • As configurações são feitas via Beans.

Configuração de Emissor JWT

Visão Geral da Seção: Nesta seção, o palestrante explica como configurar o emissor JWT.

Provedor Settings

  • A classe Provedor Settings define quem emitiu o token JWT.
  • É possível customizar a URL de emissão.

Classe Properties

  • Para validar a configuração, é necessário criar uma classe Properties.

Configurando a validação de propriedades

Visão geral da seção: Nesta seção, o palestrante adiciona uma dependência para validar as propriedades e configura as propriedades que precisam ser validadas.

Adicionando dependência para validação de propriedades

  • Adiciona a dependência javax validation.
  • Não é necessário fixar a versão do Spring Boot.
  • Adiciona a propriedade "notblank" para validação.

Configurando as propriedades que precisam ser validadas

  • Define que apenas o stream provider web emite tokens.
  • Define que o token não pode estar em branco.
  • Define que os headers devem conter um token válido.

Configurando assinatura com chave assimétrica

Visão geral da seção: Nesta seção, o palestrante explica como configurar uma assinatura com chave assimétrica.

Gerando um par de chaves RSA

  • É necessário gerar um par de chaves assimétricas (chave pública e privada).
  • O comando keytool é usado para gerar o par de chaves no formato JKS.
  • A chave gerada deve estar na pasta raiz do projeto.

Configurando a chave no servidor Alfresco

  • A chave pública deve ser usada pelo servidor Alfresco para validar o token.
  • O palestrante configura a chave no servidor Alfresco usando o comando keytool.
  • A senha da chave é necessária para configurá-la no servidor.

Verificando a chave

  • O palestrante verifica se a chave está na pasta correta.
  • Ele usa o comando keytool para listar as chaves e verificar se a chave foi gerada corretamente.

Configuração de Chaves

Visão geral da seção: Nesta seção, o palestrante adiciona as chaves necessárias para a configuração e cria uma subclasse para organizar as configurações.

Adicionando chaves

  • O palestrante adiciona as chaves necessárias na configuração.
  • Ele adiciona os campos que já foram configurados.
  • Explica como a pasta assume pasta de cursos é suficiente para reconhecer a chave.
  • O palestrante cria uma subclasse chamada jks properties in para organizar as configurações.

Configurando leitura de chave

  • O palestrante explica como ler o arquivo necessário com um novo classf features on classf urso.
  • Ele adiciona o bem do JW cassete emocional bem Publique jwk.
  • O palestrante importa uma classe lance e adiciona dados do arquivo necessário.
  • Ele precisa passar aqui no própolis para chamar aqui of properties o que vou chamar o chefe desse aqui então um jet jks sim ref
  • O palestrante carrega as duas chaves dentro do Store.

Conclusão

O palestrante concluiu a configuração das chaves e criou uma subclasse para organizá-las.

Configurando Chaves no Projeto

Visão Geral da Seção: Nesta seção, o palestrante explica como configurar as chaves do projeto.

Parâmetros para carregar a chave privada

  • O segundo parâmetro é "eles" e o terceiro parâmetro é a senha dessa chave que está dentro do JKS.
  • É possível usar a variável "adquire pés para Jet Ski em Ilhéus" para configurar o All properties.
  • Não é necessário usar o JKS properties.

Carregando a chave pública e privada na memória

  • Agora que a chave já foi carregada, é possível retornar 1 mil JW cassete com uma RSA.
  • A chave pública e privada já estão carregadas na memória.
  • É possível ter diversos jwk sete diferentes em um projeto com diversas chaves diferentes.

Configurando o Bean para escolher a chave correta

  • O Bean Akira é necessário para o outro Bean que seria o último do jwt Encoder.
  • Para escolher a chave correta, usa-se agenciar o JW cassete.

Configurando JWT Encoder

  • O jwt Encoder está depreciado, mas ainda pode ser utilizado nesta versão.
  • Ele será substituído pelo outro do Spring Security na próxima versão.
  • É impossível importar corretamente devido aos dois módulos diferentes no mesmo nome de pacote.
  • A classe utilizada será anibus jws Encoder e ela precisa de um JW Cars.

Testando Fluxo Client Credentials

Visão Geral da Seção: Nesta seção, o palestrante demonstra como testar fluxo client credentials.

Gerando um token

  • O nome do cliente e a senha da fixa são necessários para passar via Basic.
  • A senha da fixa é 123456.
  • É possível passar form-data.

Configurando o JWT Encoder

  • Com os três bens configurados, é possível ler a chave privada e pública e disponibilizar a chave pública para os cursos server Samp.

Testando o fluxo de Client Credentials

  • Para testar o fluxo de client credentials, crie uma nova subpasta chamada Alf dentro do posto.
  • Os recursos do alto saber serão chamados de Alf.

Configurando o Fluxo de Introspecção

Visão Geral da Seção: Nesta seção, o fluxo de introspecção é configurado para visualizar os dados contidos no token gerado pelo cliente.

Configurando o Fluxo de Introspecção

  • O fluxo de autorização não está funcionando corretamente.
  • É possível visualizar os dados contidos no token gerado pelo cliente usando o Alf server.
  • Para isso, é necessário duplicar o Quest e renomeá-lo como Alfie introspecti.
  • Ao invés do ringue Type e esculpe, mantém-se o form data e vice Walking foi gerado.
  • É possível ver as informações dentro do topo ao colar a palavra "authorization" no authorization'.
  • O nome do usuário pode ser visto na linha exibida após fazer um re Quest.
  • O syncpoint é público e utilizado para buscar a chave pública.
  • A chave pública é carregada com esse in the Point JW KS.

Configurando o Cliente AW Blog

Visão Geral da Seção: Nesta seção, é configurado o cliente AW Blog para utilizar o fluxo de autorization code.

Configurando o Cliente AW Blog

  • O cliente AW Blog será configurado para utilizar o fluxo de autorization code.
  • As configurações básicas são definidas na classe Secret config.
  • O ring Type é autorization code e o cliente terá dois tokens: motorista Cláudio e refresh token.
  • As urls de redirecionamento são definidas para http://local host Watson Harry e um perfil de URL padrão.
  • As permissões da up são definidas, incluindo depoente do usuário, pontos with e post pontuais.
  • O tempo livre duration of minutes é definido como 15.

Configuração do Fluxo de Autorização

Visão Geral da Seção: Nesta seção, o autor explica como configurar o fluxo de autorização e testá-lo.

Configurando o Cliente Sens

  • É necessário configurar o cliente Sens para que a configuração do Toquinho esteja completa.
  • O cliente Séries é responsável pela configuração de recorde authorisation.
  • A tela de consentimento será exibida ao usuário quando a opção for selecionada.

Testando o Fluxo

  • Para testar o fluxo, é necessário reiniciar o auto cera e iniciar o teste manualmente.
  • É possível criar um requeste para facilitar a execução do código no navegador.
  • O fluxo do office.com authorization Code deve ser relembrado antes de prosseguir com os testes.

Criando um Requeste

  • É possível criar um requeste local roxo 8080 182 perdão Wolf 2/Tolkien para facilitar a criação do requeste.
  • Os parâmetros da URL response underline type I could devem ser passados corretamente.
  • A URL redirection Underline r deve ser passada corretamente.

Gerando Authorization Token

  • Após configurar tudo corretamente, é possível gerar um authorization token e um refresh token usando a ferramenta introspecti.

Configurando o Fluxo de Autorização

Visão Geral da Seção: Nesta seção, o palestrante demonstra como configurar o fluxo de autorização usando o método do s256 para encriptar um valor.

Configurando a Autenticação

  • Para configurar a autenticação, é necessário acessar a opção "Basic" e clicar em "Off 2.0".
  • É preciso configurar as informações do prefixo, tipo corrente e URL de retorno.
  • O prefixo padrão do Token não precisa ser alterado.
  • O usuário deve copiar a regra interna do posto para usar no servidor de autorização.
  • É necessário reiniciar o servidor de autorização após adicionar a URL própria do posto.

Gerando Tokens

Visão Geral da Seção: Nesta seção, o palestrante mostra como gerar tokens usando as informações previamente configuradas.

Gerando Tokens com Scopos Específicos

  • Para gerar tokens com escopos específicos, é preciso passá-los na opção "Scope".
  • O usuário pode deixar que o sistema gere automaticamente um código free fire caso não seja passado nenhum.
  • Os escopos utilizados anteriormente podem ser copiados e colados na opção "Scope".

Testando a Autenticação

  • Após logar no navegador, é possível gerar um token JWT personalizado.
  • O token pode ser exibido no jwt.io para visualizar seu conteúdo.

Customização de Usuários

Visão geral da seção: Nesta seção, o palestrante explica como adicionar informações personalizadas aos usuários do sistema.

Adicionando tipo de usuário

  • É possível adicionar um tipo de usuário (admin ou cliente) à entidade de usuário do sistema.
  • Isso pode ser feito através da criação de um método de customização no User Controller.
  • Para isso, é necessário criar uma nova classe e implementar o método que retorna as informações personalizadas do usuário.

Autenticação do usuário

  • A autenticação do usuário é feita pelo Spring Framework for Authentication.
  • É importante verificar a instância dentro do principal para evitar problemas com a serialização dos dados.
  • Para adicionar as informações personalizadas ao token JWT, é necessário utilizar o método getClaims().

Permissões do usuário

  • As permissões do usuário podem ser adicionadas através das autoridades.
  • É possível pegar as autoridades diretamente ou através da instância do usuário.

Desculpe, mas não recebi o arquivo de transcrição para criar as notas. Por favor, envie o arquivo de transcrição para que eu possa começar a trabalhar nas notas.

Escolas de Autores e Configuração do Token JWT

Visão Geral da Seção: Nesta seção, o autor fala sobre as escolas de autores e como elas vêm das partes de escape. Ele também discute a configuração do token JWT.

Escolas de Autores

  • As escolas de autores vêm das partes de escape.
  • Toninho esculpe com a parte ao tórax.

Configuração do Token JWT

  • A chave pública é exibida no jks e será utilizada pelo serviço para validar o token jwt.
  • Para configurar o ver server para ler essa chave pública, pode ser feito diretamente via mor.
  • É necessário adicionar o PS correto em JW JW.
  • O novo toquinho está sendo validado e utilizado corretamente.

Autenticação JWT e Escopos

Visão geral da seção: Nesta seção, o palestrante discute a autenticação JWT e como extrair informações do token. Ele também fala sobre a adição de escopos para usuários.

Autenticação JWT

  • O usuário é autenticado com detalhes do usuário, mas acaba sendo um JWT.
  • É necessário trocar o tipo de autenticação para JWT.
  • Para buscar o nome de usuário ou e-mail dentro do JWT, é preciso acessar jwt.io e verificar a propriedade "sub", que contém o e-mail do usuário.

Adicionando Escopos

  • É necessário adicionar escopos para permitir que os usuários leiam informações específicas.
  • Os escopos configurados no cliente precisam ser adicionados ao servidor.
  • As permissões incluem ler informações dos usuários, criar usuários e outras autoridades específicas.
  • Os escopos podem ser combinados para simplificar as autorizações.

Conclusão

Visão geral da seção: Nesta seção final, o palestrante conclui sua discussão sobre autenticação JWT e escopos.

  • A aplicação pode variar em relação às permissões concedidas aos usuários.
  • Testes devem ser realizados para garantir que tudo esteja funcionando corretamente.

Configuração do Servidor de Usuários

Visão geral da seção: Nesta seção, o palestrante configura o servidor de usuários e customiza o conversor JWT para unir as autoridades que vêm tanto no campo "permissões" quanto no campo "authorities".

Configurando o Security Filtering

  • Ativa o módulo of 2 or server com JWT.

Customizando Conversor JWT

  • Customiza conversor JWT para unir as autoridades que vêm tanto no campo "permissões" quanto no campo "authorities".

Testando a Implementação

  • Verifica se consegue listar vários usuários.
  • Ativa modo debug para verificar permissões.
  • Verifica por que não está funcionando e adiciona autenticação dentro do Spring.
  • Adiciona uma lista vazia para quem não tem authorities.
  • Reinicia serviço de usuários.

Bloqueio na Criação de Usuários

Visão geral da seção: Nesta seção, o palestrante explica como bloquear a criação de usuários e recapitula as configurações feitas anteriormente.

Recapitulando Configurações Anteriores

  • Recapitula configurações anteriores feitas no servidor de usuários.

Bloqueio na Criação de Usuários

  • Explica como bloquear a criação de usuários.
  • Não é possível criar usuários porque não há iOS whitened.

Configuração do Servidor de Publicações

Visão geral da seção: Nesta seção, o palestrante configura o servidor de publicações e adiciona as permissões necessárias.

Configurando o Security Filtering

  • Copia configurações do servidor de usuários para o servidor de publicações.
  • Adiciona permissões necessárias.

Implementação de Segurança

Visão Geral da Seção: Nesta seção, o palestrante discute a implementação de segurança em um serviço de postagem.

Implementando Serviço de Segurança

  • Verificar se o nome do ponto é correto.
  • Implementar serviço de segurança para buscar informações do usuário autenticado.
  • Utilizar a classe SecurityContext para trazer informações do usuário sem precisar utilizar annotations dentro do Controller.
  • Adicionar contexto e autenticação principal ao SecurityContext.
  • Fazer teste somente se for a Estância de jwt than with distance off J no tempo.
  • Extrair variável e retornar long.ParseLong(userGuide).
  • Recomenda-se fazer cheques sempre que possível para evitar Null Pointer Exception.

Testando Autenticação

Visão Geral da Seção: Nesta seção, o palestrante testa a autenticação configurada no serviço de postagem.

Testando Autenticação

  • Realizar teste com autorization code no Face daqui e selecionar um novo aqui.
  • Limpar todos os cookies por precaução e autenticar novamente no email.

Criando Postagens

Visão Geral da Seção: Nesta seção, o palestrante cria uma nova postagem e verifica as permissões dos usuários.

Criando Postagens

  • Gerar um token para o usuário admin e os estoques de sincronização.
  • Mudar para o usuário dois, que seria um cliente.
  • Tentar gerar um toque para ele e criar uma nova postagem com o usuário do João.

Desculpe, mas não recebi nenhum arquivo de transcrição para trabalhar. Por favor, envie o arquivo de transcrição para que eu possa começar a criar as notas em markdown.

Desculpe, mas não recebi o arquivo de transcrição para criar as notas. Por favor, envie o arquivo de transcrição para que eu possa começar a trabalhar nas notas.

Configurando o Web Client

Visão geral da seção: Nesta seção, o palestrante fala sobre a implementação do Web Client e sua integração com o serviço de autorização.

Configurando o Web Client

  • É necessário falar sobre o RestTemplate antes de finalizar a implementação do serviço de post.
  • A classe Flash Template está em modo manutenção e é recomendável trocá-la por outra alternativa, como o WebClient.
  • O Spring WebFlux é um projeto que permite construir APIs reativas e aplicações web reativas.
  • Adiciona-se a dependência do Spring WebFlux no arquivo XML.
  • Cria-se uma classe de configuração para o WebClient chamada "ClientConfig".
  • Adiciona-se a dependência do Authorization Server no WebClient.
  • Aplica-se a configuração OAuth2 ao WebClient.

Implementando o Cliente Reativo

  • Cria-se uma nova classe chamada "UserReactive" para consultar usuários na API.

Implementação do Serviço de Posts

Visão geral da seção: Nesta seção, o palestrante implementa o serviço de posts usando o Reactor Core e WebFlux.

Implementando o Serviço de Posts

  • O palestrante declara que usará um molde de usuário.
  • Ele pesquisa o retorno em Website Kate para a questão de consulta.
  • Ele concatena como/user/Eyed e passa pef Malibu e depois Wide.
  • Ele passa retrieve body to morrom e passa o tipo de resposta e os responses was Teresa.
  • Ele chama esse user with Light dentro do rosto Controller.
  • O usuário react froid é chamado dentro do rosto Controller.
  • A implementação do serviço de pulsos está concluída.

Implementação da Autorização

Visão geral da seção: Nesta seção, o palestrante implementa a autorização usando Spring Fashion JDBC.

Implementando a Autorização

  • O palestrante explica que, no fluxo de autorization code, quando você loga no autoriza server, essa sessão fica na aplicação do autorização server.
  • Para evitar problemas com várias instâncias dessa autorização server, ele implementará o Spring Fashion JDBC para jogar a sessão do usuário dentro do banco de dados.
  • Ele copia o esquema do Mais Cruel para jogar dentro do seu banco de dados.

Implementação do Spring Fashion JDBC

Visão geral da seção: Nesta seção, o palestrante demonstra como implementar o Spring Fashion JDBC para manter a sessão do usuário ativa.

Adicionando dependências do Spring Fashion

  • Adicione as dependências do Spring Fashion no arquivo pom.xml.
  • O ponto session não precisa declarar a versão.

Configurando o banco de dados

  • Mantenha o nome da tabela em maiúsculo para evitar problemas com sistemas case sensitive, como o Linux.
  • Certifique-se de que a chave chamada "fashion" esteja dentro da chave "Spring" no arquivo application.yml.
  • Recarregue as dependências e verifique se tudo está funcionando corretamente.

Testando a sessão do usuário

  • Inicie o autorization server e faça login automaticamente usando um fluxo de autorization code.
  • Verifique se os dados da sessão estão sendo salvos corretamente no banco de dados.
  • Reinicie o servidor e verifique se a sessão ainda está ativa.

Implementando JDBC para salvar clientes e autenticações

  • Para salvar informações dos clientes e autenticações, é possível utilizar uma implementação disponível chamada JdbcRegisteredClientRepository.
  • Execute os esquemas necessários (autorização e cliente).

Configurando o Banco de Dados

Visão Geral da Seção: Nesta seção, o palestrante configura o banco de dados para o projeto.

Criando Tabelas no Banco de Dados

  • Criação das tabelas "clientes" e "autorizações".
  • Última tabela criada é a "autorizações".

Configurando Repositórios e Services

  • Descrição das tabelas criadas.
  • Configuração do JDBC template.
  • Configuração do cliente repositor.
  • Sugestão para realizar a configuração utilizando Java gerius SQL.
  • Declaração dos Beans necessários.

Implementação no Projeto

  • Criação do Service "off dois autores".
  • Criação do New jdbc of dois autores no service.
  • Salvar todas as informações no banco de dados.

Reiniciando Observem e Testando Autenticação

Visão Geral da Seção: Nesta seção, o palestrante reinicia o Observem e testa a autenticação.

Reiniciando Observem

  • Reinício do Observem.

Testando Autenticação

  • Limpeza dos cookies para evitar autenticação ou configurações antigas.
  • Utilização da URL anterior para pedir login e autorização.
  • Geração do Authorization Code.
  • Verificação dos registros no banco de dados.

Autenticação e Logout

Visão geral da seção: Nesta seção, o palestrante discute a autenticação e logout em um servidor. Ele explica como é possível utilizar diversas instâncias do autor existe no cérebro e caso o seu outro jeito server venha a reiniciar ele. Além disso, ele mostra como realizar o logout no navegador e como os tokens continuam válidos mesmo após o logout.

Autenticação

  • É possível utilizar diversas instâncias do autor existe no cérebro e caso o seu outro jeito server venha a reiniciar ele.
  • O servidor não perde todas as informações mesmo após uma reinicialização.

Logout

  • Para realizar o logout no navegador basta clicar em "logout" e confirmar.
  • Os tokens continuam válidos mesmo após o logout.
  • É possível buscar um novo token utilizando o refresh token.
  • É necessário pedir autorização para revogar um refresh token.

Revogação de Tokens

Visão geral da seção: Nesta seção, o palestrante discute a revogação de tokens em um servidor. Ele mostra como revogar um refresh token utilizando uma requisição HTTP.

Revogação de Refresh Token

  • É necessário pedir autorização para revogar um refresh token.
  • É possível gerar outro access token utilizando um novo refresh token válido.
Video description

Você já ouviu falar do Spring Authorization Server? Ele é novo projeto do ecossistema Spring para implementação de servidor de autorização da especificação OAuth2, que vem para substituir o depreciado Spring Security OAuth. Nesse tutorial passo a passo você vai aprender como implementar um Authorization Server com esse framework. Nós vamos configurar dois Clients do OAuth2 para os fluxos Client Credentials e Authorization Code. Além disso, vamos integrar dois microsserviços usando o fluxo Client Credentials. 00:00 - Introdução 00:30 - O Spring Authorization Server 00:41 - Conhecendo o projeto da aula 03:00 - Apresentando a documentação no Postman 03:36 - Como funciona a interação entre os microsserviços 03:47 - Como a arquitetura ficará após a implementação de um Authorization Server 04:09 - Carregando a dependência do Spring Authorization Server 05:04 - Construindo a classe de configuração do Spring Security 05:35 - Configurando a SecurityFilterChain 08:48 - Criando o RegisteredClientRepository para guardar os Clients do OAuth2 10:36 - Criando os Clients do OAuth2 14:46 - Configurando o ProviderSettings para declarar quem assina o Token JWT 18:55 - Gerando par de chaves assimétricas e JWKS para assinar o Token JWT 25:22 - Configurando Beans para assinatura do Token JWT 32:57 - Testando a geração do token no fluxo Client Credentials 35:41 - Exibindo detalhes do Token gerado no endpoint /oauth2/introspect 37:07 - Verificando endpoint de chave pública /oauth2/jwks 38:16 - Implementando Cliente com fluxo Authorization Code 42:12 - Testando fluxo Authorization Code 45:32 - Gerando token com Authorization Code 47:31 - Testando fluxo Authorization Code com PKCE via Postman 52:28 - Customizando o Token JWT com dados do usuário 59:35 - Verificando dados customizados no /oauth2/introspect 1:00:40 - Configurando Resource Server no microsserviço User 1:02:09 - Ajustando o SecurityFilterChain 1:02:44 - Criando um JwtAuthenticationConverter 1:07:46 - Configurando leitura da chave pública no Resource Server 1:10:22 - Testando Resource Server com autenticação 1:12:03 - Lendo dados do usuário de dentro do JWT 1:14:07 - Ajustando as permissões para valerem para Roles e Scope 1:22:21 - Configurando Resource Server no microsserviço de Post 1:24:45 - Extraindo usuário do JWT via SecurityContextHolder 1:28:02 - Testando microsserviço de Post 1:32:10 - Integração segura entre dois microsserviços com OAuth2 Client Credentials 1:40:12 - Adicionado autenticação de Client Credentials no RestTemplate 1:43:28 - Testando integração com Client do OAuth2 1:44:02 - Qual é o futuro do RestTemplate? Ele será depreciado? 1:45:36 - Implementando o WebClient com autenticação de Client Credentials 1:53:26 - Armazenando sessão do usuário no banco de dados com Spring Session JDBC 1:59:41 - Armazenando Clients do OAuth2 no banco de dados com JDBC 2:08:45 - Logout do Authorization Server 2:11:07 - Revogando um Refresh Token 2:12:40 - Final Código-fonte da aula: https://github.com/algaworks/conteudos-microsservicos/tree/main/Seguran%C3%A7a/Utilizando%20o%20Spring%20Authorization%20Server Código-fonte da aula (versão final): https://github.com/algaworks/conteudos-microsservicos/tree/main/Seguran%C3%A7a/Utilizando%20o%20Spring%20Authorization%20Server%20-%20Final Documentação do Spring Authorization Server: https://docs.spring.io/spring-authorization-server/docs/current/reference/html/ Instagram: https://instagram.com/alga.works Blog: http://alga.works/blog-yt Mergulhe fundo com nossos cursos online de Java e Front-end: http://alga.works/site-yt #OAuth2 #Spring #JWT #springauthorizationserver #SpringSecurity #springboot #microsserviço #algaworks

Implementando um servidor de autorização OAuth2 na prática | YouTube Video Summary | Video Highlight