>

django와 DRF를 처음 사용하고 있습니다. JWT를 사용하여 인증 시스템을 구축하려고합니다. 등록 후 사용자를 직접 로그인하고 싶습니다. 설명서를 읽고 수동으로 토큰을 만들어서 반환했습니다. 시리얼 라이저이지만 질문은 다음과 같습니다.

1)이 토큰을 사용하여 사용자의 로그인 여부를 어떻게 알 수 있습니까?

2) 내 템플릿에 {user.is_authenticated %} 인 경우 {%를 사용할 수 있습니까? 그렇다면 어떻게해야합니까?

3) 다른보기에서 사용자가 정보에 로그인하도록하려면 어떻게해야합니까?

4) DRF 인증을 처리하는보다 효율적인 방법이 있습니까?

  • 답변 # 1

    1- 기본적으로 DRF 및 jwt 토큰을 사용하는 경우 토큰 기반 인증을 사용한다는 의미이므로 모든 요청에는 Authorization: basic <token value> 에 대한 http 헤더가 포함되어야합니다. . 따라서 django drf 인증 백엔드는이 토큰을 인식하며 유효한 경우 사용자가 인증됩니다.

    2- 더 이상 해당 템플릿 태그를 사용할 수 없다고 생각합니다. 세션 기반 인증을위한 것이기 때문입니다.

    3- 해당 토큰에 대해 인증을 제공하고 토큰을 헤더로 보내면 모든보기에 request.user 의 사용자 정보가 있어야합니다.

    4- 제 생각에 가장 좋은 해결책 중 하나는 jwt 토큰을 사용한 토큰 기반입니다.

  • 답변 # 2

    DRF 인증 및 권한에는 DRF의 인증 및 권한 작업에 대한 유용한 정보가 많이 있습니다. 밖으로.

    @ Reza-Torkaman-Ahmadi가 말한 내용에 추가 :

    보기에서 권한을 사용하여 사용자가 인증되도록 할 수 있습니다 :

    permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
    
    

관련 자료

  • 이전 javascript - 스크립트가 작동하지 않습니다
  • 다음 레일스 애플리케이션에서 잘못 정렬 된 HTML