Ho una nuova applicazione basata su Rails api, in cui ho bisogno di implementare l'autorizzazione.
Architettura generale:
React frontend -> Rails API layer -> Rails model/server layer
Mentre esploro approcci diversi, ho una confusione.
- Dovremmo inserire la logica di autorizzazione nel livello API o nel livello di servizio?
- Approccio al livello dell'API: Creeremo un middleware di autorizzazione che si posizionerà tra il nostro livello front-end e API e tutte le nostre chiamate api verranno indirizzate al middleware di autorizzazione per verificare se l'utente è autorizzato a chiamare quel parituclar api.
-
Livello di servizio: tutto il controllo di autorizzazione passerà al livello di servizio e avremo il controllo prima di ogni operazione di db se l'utente è autorizzato a farlo. (Utilizzando
cancancan / pundit
) e se l'utente non è autorizzato a inviare il messaggio di errore al livello API.
Sarebbe di grande aiuto, se qualcuno potesse suggerire in base alla loro esperienza.