바뀜

둘러보기로 가기 검색하러 가기
621 바이트 추가됨 ,  2021년 11월 7일 (일) 18:39
1번째 줄: 1번째 줄:     
==개요==
 
==개요==
유명하지 않은 사이트의 계정을 다 기억하는 건 참 어려운 일. 이럴 땐 공신력을 갖춘 외부 서비스의 인증기능에 위임하여 사용하면 편하다.
+
sns 로그인. 유명하지 않은 사이트의 계정을 다 기억하는 건 참 어려운 일. 이럴 땐 공신력을 갖춘 외부 서비스의 인증기능에 위임하여 사용하면 편하다.
    
=== 들어가기 전에 ===
 
=== 들어가기 전에 ===
소셜 로그인을 구현한 후 [[회원관리 2. 커스텀유저(AbstractUser 이용)|커스텀 유저 만들기]]를 진행하는 중 DB를 지우고 말았다. 이후 소셜로그인을 다시 구현하는 데 실패했다. 이후 조금이라도 커스텀 유저모델을 사용할 기미가 보인다면 미리 만들어 두고 소셜 로그인을 구현하는 편이 좋다.<br />
+
소셜 로그인을 구현한 후 [[회원관리 2. 커스텀유저(AbstractUser 이용)|커스텀 유저 만들기]]를 진행하는 중 DB를 지우고 말았다. 이후 소셜로그인을 다시 구현하는 데 실패했다.
 +
 
 +
이후 조금이라도 커스텀 유저모델을 사용할 기미가 보인다면 이를 미리 만들어 둔 후에 소셜 로그인을 구현하는 편이 좋다.<br />
    
==사전작업==
 
==사전작업==
10번째 줄: 12번째 줄:     
===settings.py 설정===
 
===settings.py 설정===
<code>INSTALLED_APPS = [</code>하위에 다음과 같은 내용들을 추가해 넣어준다.<syntaxhighlight lang="python">
+
{| class="wikitable"
 +
!과정
 +
!설명
 +
!코드
 +
|-
 +
| rowspan="2" |<code>INSTALLED_APPS</code>
 +
|<code>INSTALLED_APPS</code> 하위에 우측 앱들을 추가한다.
 +
|<syntaxhighlight lang="python">
 
'django.contrib.sites',  # 사이트 정보를 설정하기 위해 필요
 
'django.contrib.sites',  # 사이트 정보를 설정하기 위해 필요
 
# allauth 관련 앱 목록 추가
 
# allauth 관련 앱 목록 추가
16번째 줄: 25번째 줄:  
'allauth.account',  # 가입한 계정을 관리하기 위한 것.
 
'allauth.account',  # 가입한 계정을 관리하기 위한 것.
 
'allauth.socialaccount',  # 소셜 계정을 관리하기 위한 것.
 
'allauth.socialaccount',  # 소셜 계정을 관리하기 위한 것.
 +
</syntaxhighlight>
 +
|-
 +
|<code>INSTALLED_APPS</code> 하위에 서비스 해준 sns 계정을 추가한다.
 +
사용 가능한 공급자는 다음 [https://django-allauth.readthedocs.io/en/latest/providers.html 링크]에서 확인하자.
 +
|<syntaxhighlight lang="python">
 
# 사용할 외부기능을 추가한다.
 
# 사용할 외부기능을 추가한다.
 
'allauth.socialaccount.providers.naver',
 
'allauth.socialaccount.providers.naver',
 
'allauth.socialaccount.providers.google',
 
'allauth.socialaccount.providers.google',
 
+
</syntaxhighlight>
#이미 있다면, 하위에 추가.
+
|-
 +
|AUTHENTICATION_BACKENDS
 +
|AUTHENTICATION_BACKENDS 하위에 추가한다.
 +
(일반적으로 없어, 우측의 코드를 다 써주면 된다.)
 +
|<syntaxhighlight lang="python">
 +
# 이미 있다면, 하위에 추가.
 
AUTHENTICATION_BACKENDS = [
 
AUTHENTICATION_BACKENDS = [
 
     # Needed to login by username in Django admin, regardless of `allauth`
 
     # Needed to login by username in Django admin, regardless of `allauth`
27번째 줄: 46번째 줄:  
     'allauth.account.auth_backends.AuthenticationBackend',
 
     'allauth.account.auth_backends.AuthenticationBackend',
 
]
 
]
  −
#TEMPLATES의 하위의 context_processors 아래에 'django.template.context_processors.request',를 추가해넣는다.
  −
            'context_processors': [
  −
                'django.template.context_processors.request',
   
</syntaxhighlight>
 
</syntaxhighlight>
 
+
|-
 +
|context_processors
 +
|TEMPLATES의 하위의 context_processors 아래에 'django.template.context_processors.request',를 추가해넣는다.
 +
|<syntaxhighlight lang="python">
 +
'context_processors': [
 +
    'django.template.context_processors.request',
 +
    ...
 +
</syntaxhighlight>
 +
|}
 
===urls.py 설정===
 
===urls.py 설정===
 
다음과 같이 url을 추가해준다.<syntaxhighlight lang="python">
 
다음과 같이 url을 추가해준다.<syntaxhighlight lang="python">

둘러보기 메뉴