1

Je suis relativement nouveau pour l'authentification Django et Token ainsi que pour AngularJS. Jusqu'à présent, j'ai fait le backend de Django et le frontend AngularJS. J'ai installé le cadre Rest Django et a obtenu le jeton d'authentification standard de travail dans la mesure où faire:Authentification par jeton de cadre de repos Django AngularJS

$scope.login = function() { 
    $http.post('link to my api', { 
     'username': $scope.data.username, 
     'password': $scope.data.password, 
    }).success(function() { 
     $state.go('tab'); 
    }) 
     .error(function() { 

     }); 
    }; 

Jusqu'à présent, je réussis en obtenant un jeton avec le bon nom d'utilisateur et mot de passe. Je vois tellement d'options sur l'authentification que je ne sais plus ce qui me convient et par où commencer car je n'ai pas beaucoup d'informations sur l'authentification Token standard. J'ai une application Ionic avec un écran de connexion, le backend Django a les utilisateurs stockés. Je veux pouvoir me connecter avec un compte d'utilisateur qui réside dans la base de données Django. Chaque fois que cela est fait, l'utilisateur a obtenu l'autorisation d'utiliser l'application. Plus tard, il devrait être possible, par exemple, d'obtenir les informations d'identification comme les informations personnelles de l'utilisateur connecté. Disons que j'utilise TokenAuthentication comme ci-dessus, j'ai le jeton. Mais comment puis-je obtenir les informations d'identification de l'utilisateur ou quoi que ce soit d'autre depuis Django par ce jeton? Je suis totalement perdu. Si quelqu'un pouvait m'apporter la bonne approche et le bon matériel.

Répondre

0

Je trouve que lorsque vous implémentez les autorisations DRF suivantes:

REST_FRAMEWORK = { 
    'DEFAULT_PERMISSION_CLASSES': (
     'rest_framework.permissions.IsAuthenticated', 
    ), 
    'DEFAULT_AUTHENTICATION_CLASSES': (
     'rest_framework.authentication.TokenAuthentication', 
    ) 
} 

et vous faites viewsets comme sur http://www.django-rest-framework.org/#example qu'il exige automatiquement un jeton pour voir les viewsets. Alors vous pouvez travailler avec ce jeton pour envoyer des requêtes à l'API pour obtenir des données spécifiques.