2015-01-09 10 views
6

Per quanto inteso, la vista obtain_auth_token funziona come funzionalità di accesso. Fornisci le credenziali e recupera il token. Quale sarà il logout? Devo cancellare il token al logout? Quale sarebbe la migliore pratica?Token Django-rest-framework Autenticazione e disconnessione

Se l'eliminazione è OK, come posso gestire più client contemporaneamente. Ad esempio, l'utente si disconnette dal dispositivo mobile ma desidera rimanere connesso sul Web. Il modello Token ha attualmente una relazione OneToOne con User.

Per favore, dammi un consiglio. Grazie

risposta

12

Il TokenAuthentication fornito dal framework Django resto è destinato ad essere utilizzato come molto semplice autenticazione token. Quello che voglio dire è che, si ottiene

Se si sta cercando qualcosa di più avanzato, di solito è necessario esaminare un diverso metodo di autenticazione token. Questo può essere semplice come la sottoclasse delle classi e delle viste standard TokenAuthentication (come collegate), ma il modello Token non è facilmente sostituibile. Ciò significa che la modifica del campo user in un ForeignKey, che consente di avere più token per un utente, non è facile da implementare.

Fortunatamente, il framework Rango di Django does support other authentication methods, come i token Web OAuth e JSON, che supportano entrambi token multipli per gli utenti. È possibile trovare un confronto tra le classi di autenticazione comuni at this Stack Overflow answer.

+0

Grazie. Inizialmente pensavo di estendere il token ma ora che hai detto che non è banale darò [django-rest-framework-jwt] (https://github.com/GetBlimp/django-rest-framework-jwt) una prova . Sembra promettente. – norbertpy