Django Rest Framework를 사용하여 REST API를 만들고 auth 엔드 포인트에 django-rest-auth를 사용했습니다. 이 API는 모바일 앱에서 사용됩니다. TokenAuthentication을 사용하여 API를 보호했습니다.Django-Rest-Auth 인증 문제
APIDOC을 사용할 때 문제가 발생합니다. coreapi를 사용하여 apidoc을 추가했습니다. 문서도 보호해야합니다. 위의 설정으로/docs /에 액세스 할 때 오류가 발생합니다.
'dict' object has no attribute 'data'
그래서 SessionAuthentication을 사용하도록 설정했습니다.
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
)
}
이로 인해 CSRF 오류로 로그인 끝점 (/ rest-auth/login)이 깨졌습니다.
{
"detail": "CSRF Failed: CSRF token missing or incorrect."
}
어떻게 그냥 TokenAuth와 엔드 포인트와 별도로 SessionAuth와 문서를 보호합니까? 아니면 로그인 끝점의 보안을 완전히 무시할 수 있습니까? URL을 정의하는 동안