Bonjour à tous,
j'ai une application web qui tourne très bien avec Django, c'est d'ailleurs plus un poc qu'une application utilisable en prod.
Ce que je voudrais, c'est de faire de ce poc une API rest, qui serait intérogée :
- soit par le site front qui tournera avec angularjs
- soit par une application mobile
- soit par un client lourd
- soit par un terminal
- soit par ...
...

dans l'idée, pas de soucis, avec DJango ca marche très bien, je vais donc utiliser django-rest pour l'interfacage.

Le probleme vient plutot de l'authentification. Avec Django tout va bien, tout se passe en HTTP, generic views toussa.
Avec django-rest, la doc nous amene plein d'authentification possibles, Session, Token, OAuth ...

Question 1: Quel est la meilleur solution à adopter ?
Ma réponse. Dans la mesure ou l'API est disponible via des clients différents, avec des contexts différents, l'utilisation de tokens me semblent plus qu'adaptées et vu que oauth2 est (toujours selon la doc) plus secure que les TokenSession, alors partons sur oauth2

Question 2: comment qu'on fait ?
Le probleme est bien la. J'ai beau lire la doc django-rest, celle de oauth, des exemples, la pour le coup je cale rien.

Ex: j'ai un user qui a un compte chez moi: c'est Jean.

Jean est sur le site, il a sa fenêtre de connexion, il renseigne son login et son mdp il valide et la, .... Il se passe quoi ? On envoie quoi et ou ? Le serveur retourne quoi ? Des fois je lis qu'il faut utiliser la methode login() de Django, des fois je lis qu'il faut implémenter du custom ...
Une fois Jean loggué, il requete l'API. Je suppose donc que l'on doit y mettre les token que le serveur nous a renvoyé un moment dans les headers, c'est ca ?

Ca c'est pour le scenario ou Jean est sur son browser. Imaginons maintenant qu'il requete l'API avec sont terminal et curl. Ca se passe comment ?

Voila désolé, c'est un beau pavé mais je suis vraiment embété la

Merci de votre aide.