是否有任何简单且完全记录的配置django-social-auth(https://github.com/omab/django-social-auth.git)的方法?文档是如此不完整。模板丢失了,怎么了所有网址?
答案 0 :(得分:2)
首先你必须在用户点击的地方生成de url,在args中放入回调的url:
args = {
'client_id': settings.FACEBOOK_APP_ID,
'scope': settings.FACEBOOK_SCOPE,
'redirect_uri': request.build_absolute_uri('/authentication_callback'),
}
HttpResponseRedirect('https://www.facebook.com/dialog/oauth?' + urllib.urlencode(args)
回调代码:
token = request.GET.get('code')
args = {
'client_id': settings.FACEBOOK_APP_ID,
'client_secret': settings.FACEBOOK_APP_SECRET,
'redirect_uri': request.build_absolute_uri('/authentication_callback'),
'code': token,
}
# Get a legit access token
target = urllib.urlopen('https://graph.facebook.com/oauth/access_token?' + urllib.urlencode(args)).read()
response = cgi.parse_qs(target)
access_token = response['access_token'][-1]
# Read the user's profile information
fb_profile = urllib.urlopen('https://graph.facebook.com/me?access_token=%s' % access_token)
fb_profile = json.load(fb_profile)
# These is the info of the facebook account:
first=fb_profile['first_name']
last=fb_profile['last_name']
email=fb_profile['email']
fb_id=fb_profile['id']
希望这有帮助