Facebook Login Auhtentication Sample Python Code (Handling Proxy Server)
Facebook Login Auhtentication:
clientid = settings.SOCIAL_AUTH_CREDENTIALS['facebook']['client_id']
client_secret = settings.SOCIAL_AUTH_CREDENTIALS['facebook']['client_secret']
redirect_uri = settings.SOCIAL_AUTH_CREDENTIALS['facebook']['redirect_uri']
scope = ['email','publish_stream']
def login(request):
statekey = str(uuid.uuid1())
request.session['facebookstatekey'] = statekey
url = 'https://www.facebook.com/dialog/oauth?client_id=%s&redirect_uri=%s&scope=%s&state=%s' % (clientid,redirect_uri,','.join(scope),statekey)
return HttpResponseRedirect(url)
def callback(request):
code = request.GET.get('code','')
statekey = request.GET.get('state','')
if len(code) > 0 and statekey == request.session.get('facebookstatekey',''):
url = 'https://graph.facebook.com/oauth/access_token'
values = {'code' : code,
'client_id' : clientid,
'client_secret' : client_secret,
'redirect_uri': redirect_uri}
# proxy handling. Not required on main server
useproxy = getattr(settings, "PROXY_ENABLED", False)
if useproxy:
passmgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
passmgr.add_password(None, settings.PROXY_SERVER, settings.PROXY_USER, settings.PROXY_PASSWORD)
authinfo = urllib2.ProxyBasicAuthHandler(passmgr)
proxy_support = urllib2.ProxyHandler({"http" : settings.PROXY_SERVER})
opener = urllib2.build_opener(proxy_support, authinfo)
urllib2.install_opener(opener)
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
fb_cred = {}
pagekeys = the_page.split('&')
for itm in pagekeys:
itemval = itm.split('=')
fb_cred[itemval[0]] = itemval[1]
fb_access_token = fb_cred['access_token']
fb_expires = fb_cred['expires']
url = 'https://graph.facebook.com/me?access_token=%s' % fb_access_token
req = urllib2.Request(url)
response = urllib2.urlopen(req)
the_page = response.read()
user_info = json.loads(the_page)
print user_info
.
.
.
.
.
.
.
.
.
.
written by, Thanga Vignesh Raja T

Comments
Post a Comment