Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

보기 없이 토큰 인증을 위해 Django에서 djoser 사용

<시간/>

조세르 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를 추가했습니다. 및 restframework 앱으로. 그런 다음 REST 프레임워크와 djoser의 인증 백엔드를 추가했습니다. 사용자 ID를 추가했습니다. 필드(즉, 인덱스 필드).

Django의 기본 사용자 인증 데이터베이스를 사용하고 있으므로 실제로 앱이 필요하지 않습니다.

프로젝트의 url.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'))
]

여기에서 djoser admin url을 정의했습니다. 그런 다음 djoser 인증 백엔드

그것으로 모든 것이 설정되었습니다. 이제 터미널에서 이 명령을 실행하고 출력을 확인하십시오 -

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

출력

https://127.0.0.1:8000/api/v1/users/ −

에서

보기 없이 토큰 인증을 위해 Django에서 djoser 사용

여기에서 사용자를 생성합니다.

https://127.0.0.1:8000/api/v1/token/login −

에서

보기 없이 토큰 인증을 위해 Django에서 djoser 사용

여기에서 사용자 이름과 비밀번호를 제공하여 사용자에 대한 토큰을 생성합니다.