Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การใช้ djoser ใน Django สำหรับการพิสูจน์ตัวตนโทเค็นโดยไม่มีการดู


โจเซอร์ เป็นไลบรารีการพิสูจน์ตัวตนอย่างง่ายสำหรับ Django ใช้เพื่อสร้างโทเค็นสำหรับการตรวจสอบสิทธิ์ โทเค็นที่สร้างขึ้นนี้ถูกสร้างขึ้นโดยใช้สามฟิลด์:ชื่อผู้ใช้ อีเมล และ รหัสผ่าน ใช้งานได้กับคำขอ POST เท่านั้น แต่คุณสามารถเพิ่มส่วนหน้าได้

ตัวอย่าง

สร้างโปรเจ็กต์ Django และแอพ ฉันตั้งชื่อพวกเขาว่า "DjoserExample" และ "myapp" .

ติดตั้งสองแพ็คเกจ -

pip install djoser
pip install djangorestframework

ใน settings.py เพิ่มบรรทัดต่อไปนี้ −

INSTALLED_APPS = [
#below every other apps
   'myapp',
   'rest_framework',
   'rest_framework.authtoken',
   'djoser'
]

# Below template variable
REST_FRAMEWORK = {
   'DEFAULT_AUTHENTICATION_CLASSES': (
      'rest_framework.authentication.TokenAuthentication',
   ),
   'DEFAULT_PERMISSION_CLASSES': [
      'rest_framework.permissions.IsAuthenticated',
   ]
}
DJOSER = {
   "USER_ID_FIELD": "username"
}

ที่นี่เราได้เพิ่ม djoser และ การปรับโครงสร้างใหม่ เป็นแอพ จากนั้นเราได้เพิ่มแบ็กเอนด์การตรวจสอบสิทธิ์ของเฟรมเวิร์ก REST และสำหรับ djoser เราได้เพิ่ม ID ผู้ใช้ ฟิลด์ (เช่น ฟิลด์ดัชนี)

เรากำลังใช้ฐานข้อมูลการตรวจสอบสิทธิ์ผู้ใช้เริ่มต้นของ Django ดังนั้นเราจึงไม่ต้องการแอปจริงๆ

ไปที่ urls.py ของโปรเจ็กต์ และเพิ่มบรรทัดต่อไปนี้ −

from django.contrib import admin
from django.urls import path,include,re_path

urlpatterns = [
   path('admin/', admin.site.urls),
   path('',include('myapp.urls')),
   path(r'api/v1/', include('djoser.urls')),
   path(r'api/v1/token/login, include('djoser.urls.authtoken'))
]

ที่นี่เรากำหนด URL ผู้ดูแลระบบ djoser แล้วแบ็กเอนด์การตรวจสอบสิทธิ์ djoser

ด้วยเหตุนี้ทุกอย่างจึงถูกตั้งค่า รันคำสั่งเหล่านี้บนเทอร์มินัลแล้วตรวจสอบผลลัพธ์ -

python manage.py makemigrations
python manage.py migrate
python manage.py runserver

ผลลัพธ์

บน https://127.0.0.1:8000/api/v1/users/ -

การใช้ djoser ใน Django สำหรับการพิสูจน์ตัวตนโทเค็นโดยไม่มีการดู

ที่นี่คุณจะสร้างผู้ใช้

บน https://127.0.0.1:8000/api/v1/token/login -

การใช้ djoser ใน Django สำหรับการพิสูจน์ตัวตนโทเค็นโดยไม่มีการดู

ที่นี่คุณจะสร้างโทเค็นสำหรับผู้ใช้โดยระบุชื่อผู้ใช้และรหัสผ่าน