Authentication
Request jo'natgan foydalanuvchini aniqlash uchun authenticationdan foydalaniladi.
Request jo'natgan foydalanuvchini aniqlash uchun DRFda turli xil authentication klasslari bor. Bulardan biz TokenAuthenticationni ko'rib chiqamiz.
Undan foydalanish uchun settings.py faylimizni uni ro'yxatdan o'tkazamiz.
...
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.TokenAuthentication'
]
}Keyin esa INSTALLED_APPSga o'zgartirish kiritamiz.
INSTALLED_APPS = [
...,
'rest_framework',
'rest_framework.authtoken',
...
]rest_framework.authtoken DRFdagi application bo'lib TokenAuthentication ishlashi ro'yxatdan o'tkazildi.
Oxirgi ro'yxatdan o'tkazilgan application ichida migratsiya fayllari bo'lgani uchun quyidagi komandani ishga tushiramiz.
./manage.py migraterest_framework.authtoken application ichida Token modeli bor. Bu modelda har bir user uchun alohida takrorlanmaydigan tokenlar saqlanadi.
Biror foydalanuvchi uchun token ajratish:
user = authenticate(username="admin", password="1")
token, _ = Token.objects.get_or_create(user=user)
print(token.key)Request yuborish uchun headersda quyidagi ko'rishda bo'ladi.
Authorization: Token <your_token_key>Masalan
Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4bYana boshqa authentication klasslari haqida ma'lumotni bu yerda topishingiz mumkin.