2016-02-24 20 views
5

Sto costruendo un'app con un backend Django, un frontend angolare e un'API REST utilizzando Django REST Framework per Angular da consumare. Quando stavo ancora lavorando a un backend con un frontend vanilla, ho usato l'autenticazione Django in dotazione per gestire l'autenticazione dell'utente, ma ora che sto creando un'applicazione basata su REST, non sono sicuro di come affrontare l'autenticazione.Django, angolare e DRF: autenticazione su backend Django vs API

Poiché tutti i dati utente verranno recuperati o inviati tramite l'API, l'autenticazione dell'API dovrebbe essere sufficiente? In tal caso, devo rimuovere il middleware di autenticazione Django esistente?

In questo momento, quando provo a raggiungere gli endpoint API su una versione iniziale dell'app, sono diretto a quello che sembra il normale modulo di login Django. Se inserisco un nome utente e una password validi, non funziona, richiede solo di accedere nuovamente. La rimozione dell'autenticazione Django di base potrebbe impedirlo? Voglio essere invitato ad accedere, tuttavia non sono sicuro di come gestirlo con queste tecnologie.

Il pacchetto django-rest-auth sembra utile e lo stesso gruppo crea un modulo Angolare, ma i documenti non vanno molto oltre l'installazione e gli endpoint forniti. In definitiva, penso che il nocciolo di questa domanda sia: come faccio a cambiare completamente l'autenticazione da ciò che viene fornito da Django a qualcosa come django-rest-auth o uno degli altri pacchetti di terze parti consigliati da DRF?

modifica: ho fatto questo commento qui sotto, ma ho capito che ho bisogno di capire come funziona l'autenticazione combinata. Non sto costruendo un'applicazione per una singola pagina, quindi verranno fornite le singole pagine di base da Django, ma ogni pagina colpirà diversi endpoint API per recuperare i dati di cui ha bisogno. C'è un modo per avere qualcosa come django-rest-auth handle all autenticazione?

+0

Esiste un repository di codice che è possibile mostrare? django-rest-auth è praticamente plug and play e dovrebbe funzionare facilmente per il tuo caso. –

+0

Posso aggiungere il codice alla domanda quando torno a casa, ma cosa sarebbe più utile mostrare? Ho giocato con django-rest-auth- è stato facile da installare, non sono chiaro su come rimuovere l'autenticazione e utilizzare solo i suoi endpoint. – dkhaupt

+0

In realtà, ho deciso che non sto andando con un'implementazione di una singola pagina. Le singole pagine colpiranno vari endpoint e saranno reattive, ma alcune transizioni di pagina richiederanno la ricarica. Ciò significa che avrò effettivamente bisogno di utilizzare entrambi i tipi di autenticazione, giusto? Forse ho bisogno di ri-lavorare questa domanda o semplicemente chiedere di nuovo con più dettagli. – dkhaupt

risposta

0

A tutti coloro che incappano in questa domanda, non sono riuscito a capire come far funzionare l'approccio ibrido. Avere Django con le pagine che contenevano ciascuna delle chiamate API sembrava OK, ma non ho mai visto alcuna richiesta fatta all'API, credo a causa di altri problemi di sicurezza. Sono sicuro che sia possibile, ma ho deciso di implementare l'implementazione di una singola pagina, dopotutto, per semplificare le cose.

Problemi correlati