Reputation: 10256
I am starting with django-rest-framework and I can't find the way to access the Token value from the view, is it possible? I am not using built-in token generator, I use a custom function to do it. In request's headers I give this:
Authorization: 'Token kjansfd98qhr23d09823098fdj'
How can I access that value in the view? Or maybe there's a best way to work with custom tokens.
PD: I am not using Django's default User model.
Upvotes: 19
Views: 27994
Reputation: 71
You can get the token from the request.auth
attribute. It returns a DRF Token instance. If you want only the key then you can access it with the request.auth.key
attribute.
Reference:
Upvotes: 6
Reputation: 1511
You can access them within a view using request.META, which is a dictionary. So you can use request.META.get('HTTP_AUTHORIZATION') to access autherizatoin token.
For more details visit Django TokenAuthentication missing the 'Authorization' http header
If you are deploying to Apache, and using any non-session based authentication, you will need to explicitly configure mod_wsgi to pass the required headers through to the application. This can be done by specifying the WSGIPassAuthorization directive in the appropriate context and setting it to 'On'. For details please visit http://www.django-rest-framework.org/api-guide/authentication/
Upvotes: 26