티스토리 뷰

소셜로그인 때부터 이 녀석이 떠서 뭔지 정리해보았습니다.

You have multiple authentication backends configured and therefore must provide the `backend` argument or set the `backend` attribute on the user.

영어가 부족한 관계로 파파고의 힘을 얻어보았습니다 ㅎㅎㅎ (사실 해석할 줄 압니다.)

인증 백엔드가 여러 개 구성되어 있으므로 '백엔드' 인수를 제공하거나 사용자에게 '백엔드' 특성을 설정해야 합니다.

라고 하네요.

 

소셜로그인 기능을 추가하느라 구글 이메일 정보를 따와서 백엔드가 중첩되어 생긴 에러였습니다. 그렇기 때문에 로그인할 때 user의 정보를 어느 백엔드에서 가져와야할지를 설정해주어야합니다.방법은 간단합니다.

 

기존의 auth.login(request, user) 부분을 다음과 같이 바꿔주면 됩니다.

auth.login(request, user, backend='django.contrib.auth.backends.ModelBackend')

소셜로그인과 기존의 로그인 모두 admin으로 확인해보면 모두 auth의 User에 저장이 되어있으므로 이 녀석으로 해결할 수 있습니다. 소셜로그인으로 가져온 정보를 다른 곳에 저장한다면 맨 뒤의 ModelBackend 부분을 수정하면 됩니다.

'django' 카테고리의 다른 글

django / 검색 기능  (0) 2021.01.03
django / 게시글 정렬 구현  (0) 2021.01.03
django / 비밀번호 변경  (0) 2020.12.29
django / 소셜 로그인 구현  (0) 2020.12.29
django / 댓글 기능 구현  (0) 2020.12.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함