Skip to content

Projeto construído para mostrar como criar um processo de authorization de usuários utilizando AWS Cognito e Nodejs

License

Notifications You must be signed in to change notification settings

brduarte/authorization-cognito-example

Repository files navigation

Authorization Cognito Exemple

Esse projeto contempla apenas a parte do backend representada no diagrama abaixo. A integração demostrada aqui foi feita utilizando a UI de login fornecida pelo Cognito, mas você está livre para usar sua própria UI desde que ela envie para o backend um token JWT gerado pelo Cognito.

Untitled Diagram drawio

⚒️ Ferramentas Utilizadas

  • Node.js v16.13.0
  • Express
  • Cognito

👨‍💻 Configurações do Projeto

Renomeie o arquivo .env.example para .env e preencha as variáveis com as credenciais de aplicativos do Cognito.

$ cp .env.example .env

Atributos do arquivo .env

Env Descrição
AWS_COGNITO_REGION Região de configuração do cognito.
AWS_COGNITO_USER_POOL_ID ID do Pool de usuários.
AWS_COGNITO_ALLOW_CLIENTS Chave do cliente aplicativo para validar se origem do login pode ter acesso a API.

No Cognito, cada User Pool permite a configuração de várias chaves de cliente aplicativo, se esse for o seu caso, você pode lista-las na variavel AWS_COGNITO_ALLOW_CLIENTS separando as chaves por virgula.

Ex:

AWS_COGNITO_ALLOW_CLIENTS=client-id-1,client-id-2,client-id-3

👨‍💻 Executando

Depois que você configurar o environment(.env) do projeto basta você executar os seguintes comandos.

// Instalando dependências
$ yarn install
// Executando o projeto
$ yarn start
 info: � Server is running on port 3001 {"timestamp":"2021-12-09T01:51:00.618Z"}

▶️ Requisição de Exemplo


curl --location --request GET 'http://localhost:3001/me' \
--header 'Authorization: eyJraWQiOiJjeDQ1aW1XczAxY....'

About

Projeto construído para mostrar como criar um processo de authorization de usuários utilizando AWS Cognito e Nodejs

Topics

Resources

License

Stars

Watchers

Forks