Sto scrivendo un server API. Il framework che stiamo utilizzando è Rails + Pundit + graphql-ruby, ma suppongo che questa domanda sia indipendente dal framework.
Abbiamo l'autenticazione + l'autorizzazione implementata sulle risorse su ciascun endpoint diverso; e vogliamo assicurarci che l'endpoint che richiede il login, sia adeguatamente protetto (vale a dire, in realtà devi essere un utente valido per poter accedere all'endpoint).
Per riuscirci, l'unico approccio che riesco a fare è ... deridere un accesso anonimo su ciascuno dei diversi endpoint che stiamo vivendo. Tuttavia, penso che questo non sia SECCO: il codice per il controllo di questi endpoint è fondamentalmente lo stesso.
(Al momento ci sono per lo più autenticazione, ma probabilmente inseriremo più autorizzazioni a livello di endpoint.)
C'è un modo migliore per farlo? In particolare, come garantire che gli endpoint siano protetti in modo sicuro con la regola di autenticazione applicata, pur mantenendo i casi di test DRY?
PS: questa domanda richiede principalmente un parere su come progettare i casi di test. È stato prima chiesto nel sito di revisione del codice e sito principale , ma contrassegnato come off-topic poiché non include alcun codice.
Quindi, ti sto chiedendo qui nel sito principale di StackOverFlow.