Non sono sicuro che il titolo sia corretto, quindi ti preghiamo di avvisare se pensi ad un titolo migliore.
Lo scenario è:
- Abbiamo un gateway API che espone l'API REST ai nostri clienti (web e app mobili).
- Abbiamo un microservizio "sessioni" che tiene traccia di gli utenti registrati. Quando un utente effettua l'accesso, viene archiviata una nuova sessione questo microservizio e per ogni richiesta che richiede autenticazione, l'API GW prima comunica con questo microservizio per convalidare il token di sessione e ottenere informazioni relative alla sessione (ID utente, elenco delle autorizzazioni ecc.)
- L'API GW dopo aver convalidato il file sessione esegue alcune chiamate ad altri microservizi richiesti per soddisfare la richiesta, ma alcuni di essi hanno bisogno dell'utente connesso ID.
Un semplice esempio è un sito web di blog, in cui l'utente che ha effettuato l'accesso desidera aggiungere un post al suo blog.
- Esegue un post POST / post con il suo nuovo post del blog e il token di sessione (ID sessione univoco)
- La richiesta raggiunge l'API GW.
- L'API GW controlla il token di sessione sul microservizio delle sessioni che convalida il token e restituisce i dati della sessione (id utente, permessi)
- L'API GW ora deve inviare una richiesta ai post microservice per aggiungere il post all'utente.
La domanda riguarda il passaggio 4 - che cosa sarebbe considerato una pratica migliore :
-
L'invio dell'ID utente come parte dell'oggetto post, ovvero il servizio postale non gestisce alcuna autenticazione / autotarazione, semplicemente memorizza l'oggetto dopo la convalida di base dell'oggetto.
o
-
Utilizzo di una sorta di JWT che contiene le informazioni sulle sessioni e passa con il post del blog al servizio dei post, che deve quindi convalidare il JWT e utilizzare l'ID utente dal JWT quando si memorizzano i dati del post che sono stati passati senza alcun ID utente in esso?