Para usar o AWS Cognito como provedor de identidade para o plugin OpenID Connect
- Clique no botão Create a User Pool (Criar um Pool de Usuários) no console web do AWS Cognito
- 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, excetoEnable 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.
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
- Stackoverflow: contexto sobre o formato da URL para o Documento de Descoberta
- Stackoverflow: se você receber um erro de correspondência de regex ao verificar a URL do documento de descoberta, verifique se usou o formato errado em vez do User Pool Id na URL do documento de descoberta.
- Stackoverflow: certifique-se de configurar o nome de domínio, caso contrário, você terá este problema


