Si vous êtes reliant périphériques utilisateurs et besoin d'un jeton « par dispositif », où un utilisateur> 1 périphérique (par exemple bureau, tablette, téléphone, etc.) qui sont enregistrés séparément et où les jetons peut être révoqué, puis regardez à l'Knox
App:
Django Knox (https://github.com/James1345/django-rest-knox)
Sinon, les jetons d'authentification sont normalement utilisés pour connecter un utilisateur. Si vous n'avez pas d'utilisateur, ils ne sont pas très utiles en ce qui concerne l'infrastructure standard.
Si vous voulez quelque chose de personnalisé, vous devrez écrire votre propre solution, ce qui pourrait inclure:
- Un middleware personnalisé si:
- vous voulez/besoin de définir
request.device=
, comme request.user
- vous voulez un objet utilisateur personnalisé (ci-dessous)
- Décidez si vous voulez un utilisateur « faux » comme
DeviceUser
- Mettre en oeuvre l'interface utilisateur (voir l'exemple de
AnonymousUser
)
- a-t-is_authenticated = True
- dispose d'autorisations (?)
- a-is_device_user = True pour que vous puissiez distinguer
- Be vraiment prudent de ne pas compter sur
request.user
pour avoir un user_id
- Peut-être une nouvelle classe d'autorisation (par exemple une nouvelle
IsAuthenticated
)
Le principal problème que je vois est avec des choses qui attendent un objet utilisateur non anonyme (en request
) être un utilisateur réel avec un pk. Si vous faites attention, ce n'est peut-être pas un gros problème, mais vous devrez commencer à l'implémenter pour être sûr de son impact sur vous.