paulosalonso / oauth2

Simula um ambiente com todas as partes envolvidas em um fluxo de autorização com OAuth2.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OAuth2 DEMO

Objetivo

Simular um ambiente com todas as partes envolvidas em um fluxo de autorização com OAuth2.

Pré-Requisitos

  • Docker

Como usar

Executar o script run.sh para construir as aplicações e executá-las com Docker. As aplicações abaixo serão executadas:

  • mysql (localhost:3306)
    • O banco de dados é iniciado com um cliente e um usuário
  • authortization-server (http://localhost:8081)
    • Aplicação Java responsável por autenticar e autorizar o acesso
  • resource-server (http://localhost:8080)
    • Aplicação Java responsável por gerenciar os recursos protegidos
  • client JS (http://localhost:8000)
    • Aplicação JavaScript responsável por acessar os recursos protegidos

Acesse a URL http://localhost:8000 (client JS) via web browser. Será exibida uma página simples com um botão de login, um formulário para cadastro de cidades, um botão para listar as cidades cadastradas e um console para visualizar os detalhes das ações.

Autenticação

Para realizar o login, utilize as credenciais abaixo:

Clien ID: client-a Client Secret: 123456

Usuário: user-a
Senha: 123456

Ao executar uma ação sem fazer login o resource-server responderá com status code 401 - Unauthorized

Autorização

Ao fazer login será redirecionado para a página de autorização. Para o cliente client-a existem 2 escopos cadastrados: read e write.

Escopos

  • read
    • Necessário para listar cidades
  • write
    • Necessário para cadastrar cidades

Ao executar uma ação sem aceitar o escopo necessário o resource-server responderá com status code 403 - Forbidden

About

Simula um ambiente com todas as partes envolvidas em um fluxo de autorização com OAuth2.


Languages

Language:Java 71.9%Language:JavaScript 17.3%Language:HTML 9.2%Language:Dockerfile 1.1%Language:Shell 0.5%