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?
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?
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:
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.