바뀜

1,102 바이트 추가됨 ,  2022년 12월 2일 (금) 05:31
120번째 줄: 120번째 줄:     
# settings.py 의 INSTALLED_APPS 안에 'allauth.socialaccount.providers.facebook', 추가
 
# settings.py 의 INSTALLED_APPS 안에 'allauth.socialaccount.providers.facebook', 추가
# ...
+
# https://developers.facebook.com/apps/<nowiki/>에서 앱을 만든다.
 +
# 앱 메뉴의 '페이스북 로그인 설정'에서 유효한 OAuth 리다이렉션에 [http://127.0.0.1:8000/accounts/kakao/login/callback/ http://127.0.0.1:8000/accounts/facebook/login/callback/]형태로 기입한다.
 +
# <code>페이스북디벨로퍼>설정>기본설정</code>에서 앱ID와 비밀코드를 보여주는데, 이를 장고소셜로그인 앱에 등록한다.
 +
# 로그인 버튼은 [https://developers.facebook.com/docs/facebook-login/web/login-button?locale=ko_KR 링크]에서 자바스크립트와 함께 제공된다.(자바스크립트를 사용한 버튼은... 이것저것 꼬이게 하니, 이미지만 따오도록 하자.)
 +
|-
 +
|인스타그램
 +
|페이스북과 한 몸. 관련 앱 생성 후 리다이렉션 주소만 http://localhost:8000/accounts/instagram/login/callback/ 형태로 추가.
 +
그러나... 인스타 자체에서 로그인으로 사용할 수 없다고 못박아 두어서... 하다가 포기.(22.12월 기준 API 요청이 계속 거부당한다. 아마 최신화가 되지 않은듯...?)
 
|}
 
|}
   191번째 줄: 198번째 줄:     
<br />
 
<br />
 +
= 기타 기능 =
 +
user.socialaccount_set.all().first() 안에 해당 제공자로부터 받아오는 각종 정보들이 담긴다. dir로 확인해 사용해보자.
 +
 +
이외 기존 회원과 소셜계정의 연결도 가능한 듯한데... 이상하게 안된다. 결국 스스로 머릴 써서 우회해서 구현했다.
 +
 +
대충 다음과 같은 속성들이 있다.<syntaxhighlight lang="html">
 +
    get_avatar_url. {{account.get_avatar_url}}
 +
    제공자. {{ account.provider }}
 +
    get_deferred_fields. {{ account.get_deferred_fields }}
 +
    get_profile_url. {{ account.get_profile_url }}
 +
    get_provider_account. {{ account.get_provider_account }}  # 카카오, 네이버의 경우 닉네임을 받으면 여기에 담긴다.(아이디를 제공하는 경우는 거의 없다.)
 +
    get_provider_display. {{ account.get_provider_display }}
 +
    id. {{ account.id }}
 +
</syntaxhighlight>
 
<references />
 
<references />
   208번째 줄: 229번째 줄:     
login(request, user, backend='django.contrib.auth.backends.ModelBackend')
 
login(request, user, backend='django.contrib.auth.backends.ModelBackend')
  −
= 기타 기능 =
  −
user.socialaccount_set.all().first() 안에 해당 제공자로부터 받아오는 각종 정보들이 담긴다. dir로 확인해 사용해보자.
  −
  −
이외 기존 회원과 소셜계정의 연결도 가능한 듯한데... 이상하게 안된다. 결국 스스로 머릴 써서 우회해서 구현했다.
  −
  −
대충 다음과 같은 속성들이 있다.<syntaxhighlight lang="html">
  −
    get_avatar_url. {{account.get_avatar_url}}
  −
    제공자. {{ account.provider }}
  −
    get_deferred_fields. {{ account.get_deferred_fields }}
  −
    get_profile_url. {{ account.get_profile_url }}
  −
    get_provider_account. {{ account.get_provider_account }}  # 카카오, 네이버의 경우 닉네임을 받으면 여기에 담긴다.(아이디를 제공하는 경우는 거의 없다.)
  −
    get_provider_display. {{ account.get_provider_display }}
  −
    id. {{ account.id }}
  −
</syntaxhighlight>
   
[[분류:장고 기능구현(초급)]]
 
[[분류:장고 기능구현(초급)]]