2016-08-08 14 views
0

Ich bin neu in Django (nicht DRF) und ich habe eine schwere Zeit, meine Authentifizierung Anforderungen zu konfigurieren. Ich habe einen externen Authentifizierungsdienst, der einen Benutzernamen und ein Passwort erhält und eine JWT zurückgibt. Nachdem ich das JWT habe, wie soll ich das Token speichern und es mit jeder Anfrage vom Browser zur Verfügung stellen. Und danach, wo kann ich es bestätigen?JWT-Integration mit Django

Dank!

Antwort

0

jeden Anruf Für die Ihren Dienst dort Header zu diesem

{'Authorization':'Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b'} 

Und Sie können die Verwendung in views.py als Aufruf sollte erhalten:

  if request.user.is_authenticated(): 

Es muss in der mitgelieferten Einstellungsdatei dieses Django-Projekts.

JWT_AUTH = { 
    # 'JWT_ENCODE_HANDLER': 
    # 'rest_framework_jwt.utils.jwt_encode_handler', 

    # 'JWT_DECODE_HANDLER': 
    # 'rest_framework_jwt.utils.jwt_decode_handler', 

    # 'JWT_PAYLOAD_HANDLER': 
    # 'rest_framework_jwt.utils.jwt_payload_handler', 

    # 'JWT_PAYLOAD_GET_USER_ID_HANDLER': 
    # 'rest_framework_jwt.utils.jwt_get_user_id_from_payload_handler', 

    # 'JWT_RESPONSE_PAYLOAD_HANDLER': 
    # 'rest_framework_jwt.utils.jwt_response_payload_handler', 

    # 'JWT_SECRET_KEY': settings.SECRET_KEY, 
    # 'JWT_ALGORITHM': 'HS256', 
    # 'JWT_VERIFY': True, 
    # 'JWT_VERIFY_EXPIRATION': False, 
    # 'JWT_LEEWAY': 0, 
    'JWT_EXPIRATION_DELTA': datetime.timedelta(days=1), 
    # 'JWT_AUDIENCE': None, 
    # 'JWT_ISSUER': None, 

    # 'JWT_ALLOW_REFRESH': False, 
    # 'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(days=7), 

    # 'JWT_AUTH_HEADER_PREFIX': 'JWT', 
} 

Lesen Sie mehr darüber here.

+0

Danke, aber ich benutze nicht Django Rest Framework –

+0

okay, noch können Sie eine Idee nehmen. – harshil9968