django rest 프레임워크 + vue SPA 인증 처리
인증된 사용자(사용자 프로파일의 데이터를 취득하는 사용자 글로벌오브젝트 등)에게 제공하는 기능과 동일한 기능을 1페이지 애플리케이션(물론 Vue Router 사용)에 제공하려면 어떻게 해야 합니다.
내 요점은 사용자가 사용자 이름과 비밀번호를 입력한 후 로그인을 유지하기 위해 어떻게 django 미들웨어와 동등한 vue용 미들웨어를 만들 수 있는지 모르겠다는 것입니다.
django rest 프레임워크 jwt를 사용하여 엔드포인트를 구현할 수 있다는 것을 알고 있습니다./api-token-auth/
api에서 정보를 취득할 수 있도록 필요한 토큰을 취득(localStorge에 저장하여 axios 헤더에 저장 가능)하지만 토큰 이외의 사용자 세션은 없습니다.물론 템플릿에 전달된 사용자에 대한 정보는 없습니다.
사용자 글로벌 개체를 모든 템플릿에 전달하려면 어떻게 해야 합니까?그렇게 할 수 있는 쉬운 방법이 있을까요?
잘 부탁드립니다.
세션 인증은 다음을 추가하여 Django REST Framework를 사용하여 구현할 수 있습니다.SessionAuthentication
로 분류하다.settings.py
다음과 같이 합니다.
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.SessionAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
)
}
이 방법은Django's
디폴트 세션백엔드를 지정합니다.캐치는 PUT, PATCH, POST, DELETE 등의 "안전하지 않은" HTTP 메서드 호출에 유효한 CSRF 토큰을 포함해야 합니다.
현재 사용자에게 액세스하기 위해 API 끝점을 만들 수 있습니다./users/current
와 함께
class CurrentUserView(APIView):
def get(self, request):
serializer = UserSerializer(request.user)
return Response(serializer.data)
언급URL : https://stackoverflow.com/questions/52354116/handling-django-rest-framework-vue-spa-auth
'source' 카테고리의 다른 글
검색 메서드가 반환 값을 생성할 수 없는 경우 'null'을 반환해야 합니까? 아니면 예외를 발생시켜야 합니까? (0) | 2022.08.25 |
---|---|
Vue - 이 기능을 사용하거나 액세스할 수 없습니다.mixin 파일의 $120 또는 vue 인스턴스 (0) | 2022.08.25 |
125% 확장 시 Windows OS Chrome 브라우저에서 body Scroll End 이벤트가 트리거되지 않음 [ag-grid-vue] (0) | 2022.08.25 |
표준위원회가 주목하는 이국적인 아키텍처 (0) | 2022.08.25 |
spring @Controller 주석과 @RestController 주석의 차이점 (0) | 2022.08.25 |