Django Rest Framework에서 JWT 구성
pip install djangorestframework-simplejwt
en este caso yo lo tengo configurado junto a mi archivo requirements.txt:
Django==4.0.0
django-cors-headers
django-getenv
djangorestframework==3.12.2
psycopg2-binary
djangorestframework-simplejwt
Una vez instalada la dependsencia vamos a nuestro proyecto, y en urls.py agregamos las siguientes rutas:
path('api/token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
path('api/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
En settings.py en las configuraciones de REST_FRAMEWORK definimos la autenticación que vamos a usar por defto con el framework:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_simplejwt.authentication.JWTAuthentication',
),
'DEFAULT_PERMISSIONS_CLASSES':(
'rest_framework.permissions.IsAuthenticated'
)
}
Sin olvidarnos que en INSTALLED_APPS tenemos que indicar que vamos a usar rest_framework:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
]
Una vez hecho esto, en nuestras view podemos pedir que para que alguien haga una petición hacia nuestro endpoint, como mínimo tiene que estar autenticado, y el método de autenticación que configuramos es el de JWT:
from django.http import JsonResponse
from rest_framework import permissions, status
from rest_framework.decorators import api_view, permission_classes
@api_view(["POST"])
@permission_classes([permissions.IsAuthenticated])
def create_post(request):
return JsonResponse({'msg': 'todo funcionando'})
Probando la configuración:
Reference
이 문제에 관하여(Django Rest Framework에서 JWT 구성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nahuelsegovia/configurando-jwt-en-django-rest-framework-3nna텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)