dboard: 구글로그인 동작함
https://console.cloud.google.com/apis/dashboard 에서 OAuth Client ID 생성. 테스트를 위한 이메일도 몇개 등록한다.
http://localhost:8000/accounts/google/login/callback/ http://localhost:8000/
settings.py INSTALLED_APPS 에 아래 내용 추가
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.google',
allauth.account.middleware.AccountMiddleware
settings.py 에 아래 설정들 추가
# Authentication 관련 설정
ACCOUNT_USER_MODEL_USERNAME_FIELD = None
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_VERIFICATION = 'none'
LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = '/'
SOCIALACCOUNT_EMAIL_VERIFICATION = 'none'
SOCIALACCOUNT_QUERY_EMAIL = True
SOCIALACCOUNT_PROVIDERS = {
'google': {
'SCOPE': [
'profile',
'email',
],
'AUTH_PARAMS': {
'access_type': 'online',
}
}
}
python manage.py makemigrations && python manage.py migrate
path('accounts/', include('allauth.urls')),
이 외에도 뭔가 있었던 것 같지만 기억이 잘 안나므로 여기까지만 적어두자.
http://localhost:8000/accounts/login 으로 가서 구글로그인을 해보자. 이미 로그인되어 있었다면 http://localhost:8000/accounts/logout/ 에 가서 로그아웃하고 나서 한다.
동작을 확인했으므로, 이제 패스워드를 통한 가입/로그인을 모두 막아버리는걸 이어서 한다. 패스워드 귀찮아.