Flusso di accesso personalizzato: AWS Cognito SSO (tramite accesso senza password) - È possibile?

Sono riuscito ad abilitare SSO tramite AWS Cognito seguendo questi passaggi:

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

Tuttavia, sto cercando di capire come abilitare lo stesso flusso di autenticazione in Discourse che utilizziamo per la nostra app mobile e web. Si tratta di un flusso di autenticazione personalizzato basato su login senza password (gli utenti inseriscono la loro email e ricevono un codice di verifica).

L’obiettivo è che SSO funzioni tramite questo flusso di autenticazione senza password, invece che con email e password, dato che gli utenti non utilizzano password nelle app principali.

Avete qualche suggerimento su come abilitare questa funzionalità? O sapete se è possibile?

Grazie.

A meno che non mi stia sfuggendo qualcosa, dovrebbe funzionare. Basta che vadano dove serve per ricevere il link e dovresti essere già loggato su Discourse. Non funziona così? O vuoi che sia Discourse a inviarli alla pagina per richiedere il link?

Ciao Jay,

Grazie per la risposta.

Per chiarire.

Il flusso della nostra app (non Discourse) è senza password: l’utente inserisce l’email → riceve un codice a 6 cifre via email → inserisce il codice → effettua l’accesso.

Per abilitare questo, abbiamo attivato i trigger Lambda che definiscono/creano e verificano le sfide di autenticazione. Inoltre, l’interfaccia utente è personalizzata (cioè non fornita da AWS Amplify).

Ciò che vogliamo è che il processo di accesso di Discourse sia lo stesso. Ho provato a utilizzare la stessa configurazione del client app Cognito per Discourse, ma ricevo questa pagina di errore.

(la chiamata di rete da Cognito non è molto utile riguardo a questo errore)

Come approfondimento, se qualcuno è interessato:

Abbiamo essenzialmente dovuto configurare un server OAuth intermedio per gestire i token, ispirandoci a questo post:
https://medium.com/@scott_84836/adding-aws-cognito-authentication-to-discourse-using-oauth2-basic-f20209ba6162

Dato che abbiamo un backend Flask/Python, abbiamo finito per utilizzare: python-oauth2 · PyPI

TL;DR: non è possibile configurare un sistema senza password utilizzando Cognito con i metodi predefiniti; abbiamo dovuto impostare un OAuth leggero in autonomia.