Qual è il modo migliore per archiviare e gestire il server client e le informazioni sulla sessione di back-up e l'autorizzazione?

6

Ho uno scenario, in cui ho connesso front-end javascript usando AJAX che comunica con il backend di Django-Rest-Framework. Gli utenti eseguono l'autenticazione utilizzando token JWT. Il backend agisce come chatbot e riceve / invia messaggi come oggetti JSON.

Ora, in alcuni casi, ho inviato questi dati all'Infermedica API che esegue analisi mediche. Questa API non ha "chiavi client" dirette. Devo passare i messaggi JSON dal server (utilizzando le intestazioni per l'autenticazione).

In molti casi informedica invia, ulteriori domande che il bot deve chiedere al cliente, nel mio caso ho limitato questo a 15 domande. Dopodiché restituisce l'oggetto risposta, costituendo la più probabile condizione medica. In base alle condizioni, chiamo quindi altri due endpoint che forniscono consigli per il trattamento e la possibilità di fissare appuntamenti con un professionista medico idoneo.

La mia domanda è qual è il modo migliore per archiviare lo stato di queste richieste per assicurarci che tutte le informazioni siano passate a informedica e che la risposta sia rimandata a un utente giusto.

Mi piacerebbe che fosse il più possibile in tempo reale. Le mie considerazioni sono di archiviare le informazioni di sessione usando Redis sul lato server mantenendo la traccia delle richieste degli utenti e degli utenti come valori chiave e messaggi di ritorno in base a questo.

Esiste un modo alternativo per trasferire in qualche modo lo stato di autenticazione direttamente al client senza effettivamente inviare le chiavi?

C'è un buon progetto open source in cui viene fatto qualcosa del genere in modo da poter guardare il codice? Preferito Python.

Sarebbe molto utile dato che potrei semplicemente usare la cache del browser per le informazioni sulla richiesta e posso passare il tipo corretto di richiesta JSON direttamente dal client.

    
posta Kimmo Hintikka 13.01.2017 - 12:48
fonte

1 risposta

0

Con solo 15 domande, puoi mantenere lo stato nel client: inviare una rappresentazione delle risposte 1..5 insieme alla domanda 6, inserirla in un input nascosto in modo che ritorni con la risposta alla domanda 6.

    
risposta data 21.08.2017 - 22:13
fonte

Leggi altre domande sui tag