Skip to content
Gallery
DB App-Eat-Easier v3.0
Share
Explore
Cookbooks

icon picker
Django AuthToken

Cookbook para implementar Django AuthToken
Settings:
En INSTALLED_APPS
Agregar rest_framework.authtoken
el algoritmo usado es SHA256
Si el server esta prendido te va a decir que una vez registrado rest_framework.authtoken hay migraciones por implementar
Hay que aplicarlas
python migrate
NO hay necesidad de instalarlo de en PIP
Ya viene por default, solo es registrarlo en INSTALLED_APPS
Además es importante agregar en Settings lo siguiente:
Para que no tengas que importarlo en todas las vistas, sino una sola vez !!!
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.TokenAuthentication',
]
}
Una vez hechas las migraciones hay que hacer las validaciones:
Desde consola ingresar a SHELL con python shell
después hay importar → from django.contrib.auth.models import User
User.objects.all()
User.objects.first()._ _dict _ _
Después ir a admin y crear un usuario con su respectivo password
Hay que hacer una validación del usuario y crear su token, asi:
from django.contrib.auth.models import User
user = User.objects.all().[1] // En este caso 1 debido a que es el segundo usuario creado después de admin
from rest_framework .authtoken.models import Token
token = Token.objects.create(user=user)
una vez ejecutado te responde con el token y se guarda en la variable token
lo validas como token.__ dict __
o puedes ir a db.sqlite3 en django e ir a tabla authtoken_token
Una vez hecho este proceso, con django se hace de una manera muy fácil y sencilla
No hay que crear la vista, django ya nos la proporciona, solo hay que importarla
from rest_framework.authtoken import views as authtoken_views
y en urlpatterns escribir path(”auth_route/”, authtoken_views.obtain_auth_token, name=”token_auth”)
y le agregamos un reverse name → name = “token_auth”
Hay que hacerlas respectivas validaciones remotas
Volver a levantar el server con python runserver
Puedes ir directamente al link localhost:8000/api/auth_route/ pero realmente no hay una vista
Por lo cual hay que ir a Postman y ejecutarlo desde ahí con el método POST
Agregar un request, llamarlo login y poner la ruta de arriba
El método tiene que ser con POST
te va a mandar un mensaje de respuesta diciendo que falta usuario y contraseña
entonces ir al tab de body y con formato json hay que agregar usuario y contraseña
y la respuesta del servidor será el token del usuario
incluso si borras el token, si vuelves a hacer la petición, en automático te lo vuelve a generar
internamente django hace la validación del password con una encriptación aparte
Y el siguiente paso inmediato es integrar en las vistas sensibles la validación de los permisos
Después el siguiente paso, es guardar el token en la memoria volatil del navegador para usarlo posteriormente en la navegación
Ya que si mal no recuerdo
Lo puedes validar con Postman
Pero en los parametros
En Authorization es usar el token
Y en body usar el user y el password

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.