Linkedin Login Auhtentication Sample Python Code
Linkedin Login Auhtentication
consumer_key = settings.SOCIAL_AUTH_CREDENTIALS['linkedin']['consumer_key']
consumer_secret = settings.SOCIAL_AUTH_CREDENTIALS['linkedin']['consumer_secret']
def login(request):
try:
request_token_url = 'https://api.linkedin.com/uas/oauth/requestToken'
consumer = oauth.Consumer(consumer_key, consumer_secret)
client = oauth.Client(consumer)
client.ca_certs = certifi.where()
resp, content = client.request(request_token_url, "GET")
if resp['status'] != '200':
raise Exception("Invalid response %s." % resp['status'])
request_token = dict(urlparse.parse_qsl(content))
request.session['linkedintoken'] = request_token
authorize_url = 'https://api.linkedin.com/uas/oauth/authorize?oauth_token=%s' % request_token['oauth_token']
return HttpResponseRedirect(authorize_url)
except:
return HttpResponseRedirect("/login")
def callback(request):
request_token = request.session['linkedintoken']
access_token_url = 'https://api.linkedin.com/uas/oauth/accessToken'
consumer = oauth.Consumer(consumer_key, consumer_secret)
token = oauth.Token(request_token['oauth_token'], request_token['oauth_token_secret'])
token.set_verifier(request.GET.get('oauth_verifier',''))
client = oauth.Client(consumer, token)
client.ca_certs = certifi.where()
resp, content = client.request(access_token_url, "POST")
access_token = dict(urlparse.parse_qsl(content))
try:
url = "https://api.linkedin.com/v1/people/~:(first_name,last_name,siteStandardProfileRequest,id,positions:(company:(name)))?format=json"
token = oauth.Token(
key=access_token['oauth_token'],
secret=access_token['oauth_token_secret'])
client = oauth.Client(consumer, token)
client.ca_certs = certifi.where()
resp, content = client.request(url)
user_info = json.loads(content)
.
.
.
.
.
.
.
Written by, Thanga Vignesh Raja T
Comments
Post a Comment