ks.dgoon.lee log

dboard: 구글로그인 동작함


2023/11/04 00:26:07 #django #dev #dboard #social account #django allauth
Attachments:


https://console.cloud.google.com/apis/dashboard 에서 OAuth Client ID 생성. 테스트를 위한 이메일도 몇개 등록한다.

그리고 구글 개발자 콘솔에서 redirect URI 콜백도 등록.
http://localhost:8000/accounts/google/login/callback/
http://localhost:8000/

settings.py INSTALLED_APPS 에 아래 내용 추가

    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'allauth.socialaccount.providers.google',
settings.py MIDDLEWARE 에 아래 추가
    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
urls.py에 관련 url들 추가
    path('accounts/', include('allauth.urls')),
django admin 소셜 어플리케이션에서 항목 추가. 키는 비워둬도 된다. provider id, 이름은 안중요한듯.


이 외에도 뭔가 있었던 것 같지만 기억이 잘 안나므로 여기까지만 적어두자.

http://localhost:8000/accounts/login 으로 가서 구글로그인을 해보자. 이미 로그인되어 있었다면 http://localhost:8000/accounts/logout/ 에 가서 로그아웃하고 나서 한다.


동작을 확인했으므로, 이제 패스워드를 통한 가입/로그인을 모두 막아버리는걸 이어서 한다. 패스워드 귀찮아.




댓글 0개