1

Ich bin ziemlich neu bei Django und Token-Authentifizierung sowie AngularJS. Bisher habe ich Django Backend und AngularJS Frontend gemacht. Ich installierte die Django-Framework Ruhe und bekam die Standard-Token-Authentifizierung arbeiten so weit wie tun:Django Rest Framework-Token-Authentifizierung 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() { 

     }); 
    }; 

Bisher habe ich erfolgreich durch ein Token mit dem richtigen Benutzernamen und ein Passwort zu bekommen. Ich sehe so viele Möglichkeiten der Authentifizierung, dass ich nicht mehr weiß, was zu mir passt und wo ich anfangen soll, da ich nicht viele Informationen über die Token-Standardauthentifizierung bekomme. Ich habe eine Ionic-App mit einem Login-Bildschirm, das Django-Backend hat die Benutzer gespeichert. Ich möchte mich mit einem Benutzerkonto anmelden können, das sich in der Django-Datenbank befindet. Wann immer das gemacht wird, hat der Benutzer die Erlaubnis, die App zu benutzen. Später sollte es beispielsweise möglich sein, die Zugangsdaten wie persönliche Daten des angemeldeten Benutzers zu erhalten. Nehmen wir an, ich benutze die TokenAuthentication wie oben, ich bekomme das Token. Aber wie kann ich später die Benutzeranmeldeinformationen oder etwas anderes von Django von diesem Token erhalten? Ich bin total verloren. Wenn jemand mich bitte in die richtige Annäherung und Material bringen könnte.

Antwort

0

Ich fand heraus, dass, wenn Sie die folgenden DRF Berechtigungen implementieren:

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

und Sie machen Viewset wie auf http://www.django-rest-framework.org/#example, dass es automatisch ein Token diese Viewset anzuzeigen erfordert. Dann könnten Sie mit diesem Token arbeiten, um Anfragen an die API zu senden, um spezifische Daten zu erhalten.