Ir para o conteúdo

Configuração do Amazon AWS Cognito com Vinyl

Configuração da AWS

  1. Acesse https://console.aws.amazon.com/cognito/users/ enquanto estiver conectado a uma conta administrativa da AWS e escolha 'Criar um grupo de usuários'.

    anexo

  2. Dê um nome ao seu grupo de usuários e selecione 'Passar pelas configurações' para configurá-lo

    anexo

  3. Escolha como seus usuários farão login. Recomendamos usar o endereço Email como identidade de login e ativar a distinção entre maiúsculas e minúsculas na caixa de seleção.

    anexo

  4. Selecione os atributos de usuário integrados que você deseja exigir para cada usuário na configuração. No mínimo, os atributos email e nome devem estar habilitados para fornecer informações da conta ao Vinyl. Quando marcado, clique em 'Avançar'.

    anexo

  5. Defina as políticas de senha e criação de usuários. Recomendamos selecionar 'Permitir apenas que administradores criem usuários' para evitar que usuários não autorizados obtenham acesso. Quando definido, clique em 'Próxima etapa'.

    anexo

  6. Defina as configurações multifatoriais para o pool. Recomendamos usar '** Email only' para a opção de recuperação. MFA é totalmente opcional, mas se você não quiser usar MFA *não* clique no botão 'Criar papel**'.

    anexo

  7. Opcionalmente, você pode personalizar o endereço email do qual o Cognito envia mensagens ou pode usar o padrão integrado. Para usar um endereço email ou servidor personalizado, você precisa primeiro configurar um servidor SMTP por meio do AWS SES separado do Cognito.

    anexo

  8. Você também pode personalizar as mensagens email enviadas para novos usuários. Recomendamos usar o tipo de verificação 'Link' para conveniência do usuário. Quando terminar, clique em 'Próxima etapa'.

    anexo

  9. Adicionar tags é opcional. Eles podem ser usados para rastrear uso ou faturamento. Defina quaisquer tags que você deseja aplicar a este grupo de usuários e clique em 'Próxima etapa'.

    anexo

  10. Lembrar os dispositivos do usuário é opcional. A opção mais segura é não lembrar de nenhum dispositivo do usuário. Selecione a opção do dispositivo e clique em 'Próxima etapa'.

    anexo

  11. O Vinyl é um aplicativo cliente, então vamos configurar isso aqui. Clique em 'Adicionar um cliente de aplicativo' e defina as opções para corresponder à imagem abaixo e clique em 'Criar cliente de aplicativo' seguido de 'Próxima etapa'.

    anexo

  12. Personalizar gatilhos é opcional e não é algo usado com Vinyl. Isso permite acionar funções Lambda personalizadas para ações de login/inscrição do usuário. Não os usamos para autenticação. Clique em 'Próxima etapa'.

    anexo

  13. Revise suas opções e configurações e clique em 'Criar pool'.

    anexo

  14. Na coluna esquerda do grupo de usuários recém-criado, escolha 'Nome de domínio'.

    anexo

  15. Insira o prefixo do seu nome de domínio e certifique-se de que esteja disponível. Em seguida, clique em 'Salvar alterações'.

    anexo

  16. Clique na opção 'Configurações do cliente do aplicativo' no painel esquerdo para definir as configurações de acesso ao Vinyl. Escolha 'Selecionar tudo' ou 'Grupo de usuários Cognito' como o provedor de identidade. Para URLs de retorno de chamada, insira

    https://<server>/signin-Cognito,https://<server>/vinyl/signin-Cognito
    

    na mesma caixa com uma vírgula entre eles. Marque 'Concessão de código de autorização' e 'Concessão implícita', bem como todas as opções em 'Escopos OAuth permitidos'. Em seguida, clique em 'Salvar alterações'.

    anexo

  17. Clique em 'Usuários e grupos' no painel esquerdo e, em seguida, clique no botão 'Criar usuário'. Crie um usuário para testar a integração do Vinyl daqui para frente. Nenhum convite é necessário e você pode marcá-lo como verificado.

    anexo

  18. Reúna as informações que precisaremos para o Vinyl:

    • Clique em 'Integração de aplicativos' no painel esquerdo e copie o valor do Domínio listado aqui. Este será o endpoint principal do seu servidor de autenticação.

      anexo

    • Clique em 'Clientes de aplicativos' no painel esquerdo e, em seguida, clique em 'Mostrar detalhes'. Copie os valores 'App client id' e 'App client secret'

      anexo

    • Por fim, clique em 'Configurações do cliente do aplicativo' no painel esquerdo e, em OAuth 2.0 e 'Escopos OAuth permitidos', copie os rótulos das caixas marcadas com um espaço entre eles. Este será o valor do 'escopo'. O padrão para todas as caixas marcadas é: openid aws.cognito.signin.user.admin profile email phone

      anexo

      anexo

Configuração de Vinyl

Após a configuração da AWS ser configurada, conclua a configuração do Vinyl:

  1. Vá para Vinyl IDE e escolha Security Providers no painel Connect

    anexo

  2. Clique no botão + Autenticação do usuário no painel Autenticação do usuário

  3. Defina o valor 'Nome' como Cognito. Se você quiser dar outro nome, teremos que alterar os URIs de redirecionamento da configuração da AWS para corresponder.

    anexo

    • Para Tipo escolha OAuth

    • O valor Prioridade pode ser deixado como valor padrão

    • Marque a caixa Ativado em Configurações

    • O Tipo de autenticação deve ser preenchido automaticamente para OAuth

    • Para OAuth Grant escolha Código de Autorização

    • Os valores OAuth Grant, OAuth Grant Authentication, OAuth Resource Authentication, e Token Owner podem ser deixados com as configurações padrão

    • Verifique Mostrar no formulário de login no painel Entrar

    • Marque as caixas de seleção Provisionamento de usuários e Reivindicações da loja no painel Provisionamento

    • Clique em Salvar na parte superior

  4. No painel Endpoints superior direito, clique no botão + Endpoint para criar cada um dos três endpoints mostrados abaixo. Observe que, para os valores de Endpoint, você precisará adicionar /oauth2/authorize, /oauth2/token, ou /oauth2/userInfo respectivamente ao URL do servidor de autenticação para cada um desses endpoints. A distinção entre maiúsculas e minúsculas é importante aqui.

    anexo

  5. No painel Credenciais abaixo, clique no botão + Credencial para adicionar uma nova credencial do tipo Cliente. Forneça o ID do cliente do aplicativo e o Segredo do cliente do aplicativo que foram criados anteriormente.

    anexo

  6. Deixe o valor Certificados vazio

  7. No painel Propriedades, clique no botão + Propriedade para criar uma nova propriedade. Selecione Escopos para o parâmetro e openid aws.cognito.signin.user.admin profile email phone para o valor.

    anexo

  8. No painel Reivindicações, precisaremos mapear os dados enviados da AWS para os valores do Vinyl. Clique no botão + Reclamar para criar as três entradas mostradas abaixo. A prioridade pode ser deixada no valor padrão de 10. As três declarações são Nome, Nome para exibição e Endereço de email. O campo Identificador no qual você pode digitar.

    anexo

Neste ponto, usar o Cognito para fazer login no Vinyl irá redirecioná-lo para o formulário de login da AWS e criará o usuário no Vinyl com base no usuário no AWS Cognito. Isso ainda não atribuirá nenhum grupo ou permissão ao usuário, portanto, um administrador precisará atribuir manualmente grupos ou permissões na janela de gerenciamento de usuários do Vinyl para permitir um login completo ou o uso de qualquer aplicativo.