Django OAuth2 linkedin的第三方登录

继续折腾Django,到了第三方登录这里,由于fb,twitter这些目前都还封着,决定还是做个LinkedIn好。

注意:以下部分是在折腾好social.apps.django_app.default之后的配置。

#对应 app的setting.py


AUTHENTICATION_BACKENDS = (
    'social.backends.linkedin.LinkedinOAuth2',
    'django.contrib.auth.backends.ModelBackend',
    'account.authentication.EmailAuthBackend',

)
#LinkedIn Oauth2
#去linkedin的developer页面登录申请一个就好。
SOCIAL_AUTH_LINKEDIN_OAUTH2_KEY = ' '
SOCIAL_AUTH_LINKEDIN_OAUTH2_SECRET = ' '
#SOCIAL_AUTH_LINKEDIN_OAUTH2_SCOPE = ['r_basicprofile','r_emailaddress']
# Add the fields so they will be requested from linkedin.
SOCIAL_OAUTH2_LINKEDIN_FIELD_SELECTORS = ['email-address']

申请app部分的重点是,在那个申请的app里面要注明允许redirect的网址:以下来自linkedin的developer管理app的界面
Django OAuth2 linkedin的第三方登录_第1张图片
以上这个部分其实弄了很久,这篇decoding URL帮了很大的忙:
https://naveengopisetty.wordpress.com/2014/09/15/linkedin-oauth-2-0-issue-invalid-redirect_uri-this-value-must-match-a-url-registered-with-the-api-key/

这边对于Django来说主要是那个/social-auth/complete/linkedin-oauth2/这个在redirect那个超长链接里面拿得到,具体想有个概念还是去看上面那篇解答。

之后就点击对应页面的LinkedIn就会被Redirect走,
Django OAuth2 linkedin的第三方登录_第2张图片

就会来到linkedin:
Django OAuth2 linkedin的第三方登录_第3张图片

直接登录就好了。。。
Django OAuth2 linkedin的第三方登录_第4张图片

你可能感兴趣的:(Python,linkedin,django,oauth2-0)