Flujo de inicio de sesión personalizado: AWS Cognito SSO (mediante inicio de sesión sin contraseña) - ¿Es esto posible?

Logré habilitar SSO mediante AWS Cognito siguiendo los pasos aquí:

  1. Discourse OpenID Connect (OIDC)
  2. Anyone have a working AWS Cognito configuration w/ ouath2, openid or sso?

Sin embargo, estoy intentando encontrar formas de habilitar el mismo flujo de autenticación en Discourse que tenemos para nuestra aplicación móvil y web. Se trata de un flujo de autenticación personalizado mediante inicio de sesión sin contraseña (los usuarios ingresan su correo electrónico y reciben un código de verificación).

La expectativa es que el SSO funcione a través de este flujo de autenticación sin contraseña, en lugar de correo electrónico/contraseña, ya que los usuarios no utilizan contraseñas en las aplicaciones principales.

¿Alguna orientación sobre cómo habilitar esta funcionalidad? ¿O si esto es posible?

Gracias.

A menos que esté pasando algo por alto, eso debería funcionar. Solo haz que vayan al lugar donde deben solicitar el enlace y deberías haber iniciado sesión en Discourse. ¿Eso no funciona? ¿O prefieres que Discourse los redirija al lugar para solicitar el enlace?

Hola Jay,

Gracias por la respuesta.

Para aclarar:

El flujo en nuestra aplicación (no en Discourse) es sin contraseña: el usuario ingresa su correo electrónico → recibe un código de 6 dígitos en su correo → ingresa el código → inicia sesión.

Para habilitar esto, tenemos desencadenantes Lambda que definen, crean y verifican los desafíos de autenticación. Además, la interfaz de usuario es personalizada (es decir, no proporcionada por AWS Amplify).

Lo que queremos es que el proceso de inicio de sesión en Discourse sea el mismo. Intenté usar la misma configuración del cliente de aplicación de Cognito para Discourse, pero obtuve esta página de error:

(la llamada de red no es muy útil por parte de Cognito respecto a este error).

Como seguimiento a esto, si alguien está interesado:

Básicamente tuvimos que configurar un servidor intermedio de OAuth para manejar los tokens, inspirados en esta publicación:
https://medium.com/@scott_84836/adding-aws-cognito-authentication-to-discourse-using-oauth2-basic-f20209ba6162

Tenemos un backend de Flask/Python, por lo que terminamos usando: python-oauth2 · PyPI

TLDR: No se puede realizar una configuración sin contraseña usando Cognito mediante ningún método predeterminado; tuvimos que configurar nuestro propio OAuth ligero.