Alguém tem uma configuração funcional do AWS Cognito com OAuth2, OpenID ou SSO?

Para usar o AWS Cognito como provedor de identidade para o plugin OpenID Connect

  1. Clique no botão Create a User Pool (Criar um Pool de Usuários) no console web do AWS Cognito
  2. Clique em Review Defaults (Revisar Padrões) para usar principalmente as configurações padrão
    2a. Antes de criar o pool, certifique-se de clicar em Add an App Client (Adicionar um Cliente de Aplicativo)
    2b. Crie um App Client; dê um nome a ele e desmarque tudo, exceto Enable refresh token based authentication (ALLOW_REFRESH_TOKEN_AUTH)


3. Clique em Create pool (Criar pool)
4. Agora, em General Settings (Configurações Gerais) no menu à esquerda, clique em App Client e anote os valores para App client id (ID do cliente do aplicativo) e App client secret (Segredo do cliente do aplicativo)
5. Em seguida, em App integration (Integração de Aplicativo) no menu à esquerda, clique em Domain name (Nome de domínio). Insira um subdomínio aqui. O nome inserido será o domínio para o qual os usuários serão redirecionados ao fazer login.

6. No canto superior esquerdo do Console do AWS Cognito, clique em Federated Identities (Identidades Federadas); é um pouco difícil de encontrar.
federated-identities
7. Uma vez lá, clique em Create new identity pool (Criar novo pool de identidade)
8. Dê um nome ao pool de identidade
8b. Na seção Authentication providers (Provedores de Autenticação), use o User Pool ID do pool de usuários criado anteriormente e o App client id do cliente de aplicativo criado anteriormente.


9. Clique em Create Pool (Criar Pool) e permita que o console crie as funções IAM para usar com o novo pool de identidade
10. Neste ponto, você já tem praticamente tudo o que precisa para configurar sua instância do Discourse com as configurações do site corretas, assumindo que você já instalou o plugin.

openid connect enabled: ative esta opção
openid connect client id: use o App Client Id que recuperamos nos passos anteriores
openid connect client secret: use o App Client Secret que vimos nos passos anteriores
openid connect discovery document: o link para a URL do documento de descoberta segue o formato abaixo.. você pode ver o formato para userPoolId acima na captura de tela do passo 8b..

https://cognito-idp.{region}.amazonaws.com/{userPoolId}/.well-known/openid-configuration

Para verificar se o formato da URL está correto, basta tentar colá-la no seu navegador; você deverá obter um JSON bem formatado que retorna o endpoint de autorização, o emissor e outras informações.

openid connect authorize scope: openid email


Outras coisas que podem ser úteis

7 curtidas