본문 바로가기
AI 웹개발반

[TIL] signin기능 사용에서의 500, 401 오류 해결

by 째깍단 2023. 4. 21.

장고 강의를 들으며 난 오류 정리..

앞으로 같은 오류가 나면 이 부분을 유심히 보자

(그 전에 오류가 안나게 코드를 잘 쓰자!)

 

 

 

 

Today's Error 01

 

- 500 Internal Server Error

 

AttributeError: 'JWTAuthentication' object has no attribute 'has_permission' ..

 

 

Settings.py 의 REST_FRAMEWORK에 추가 해주면 해결됨.

DEFAULT_AUTHENTICATION_CLASSES에 JWT를 넣어준다.

 

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAuthenticated',
    ],
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    )
}

 


 

 

 

Today's Error 02

 

- 401 Unauthorized

 

Unauthorized: /users/signup/

API key 잘못 적용했기 때문..이라는 검색 결과지만 혼자 해결하지 못해 기술매니저님을 찾아갔다ㅠㅠ

 

 

 

 

과정1.

세션, 토큰 인증을 추가 하여 해결

 

REST_FRAMEWORK = {
	...
	'DEFAULT_AUTHENTICATION_CLASSES': (
        "rest_framework.authentication.TokenAuthentication",
        "rest_framework.authentication.SessionAuthentication", #세션으로 처리하도록
        "rest_framework_simplejwt.authentication.JWTAuthentication",
    ),
}

 

token으로만 하려고 하니까 문제가 생기는 것 같음

Sessionauthentication 같이 넣어주어야...

 

해결은 되었지만 문제가 온전히 해결된 것은 아니어서 더 들여다보기로 했다.

 

 

 

 

과정2.

 

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAuthenticated',
    ],
    'DEFAULT_AUTHENTICATION_CLASSES': (
    ...

여기가 문제였다

무조건 로그인 한 상태로 처리가 되고 있어서 

 

 

'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.AllowAny',
    ],

 

AllowAny 로 바꾸어주어 해결!!