1. 程式人生 > >django實現github第三方本地登錄

django實現github第三方本地登錄

class process image gif red 登陸 技術 log led

1、安裝

pip install social-auth-app-django

2.生成Client ID和Client Secret

技術分享圖片

技術分享圖片

3、修改setting.py

INSTALLED_APPS = [
    account,
    django.contrib.admin,
    django.contrib.auth,
    django.contrib.contenttypes,
    django.contrib.sessions,
    django.contrib.messages,
    django.contrib.staticfiles
, social_django, # 新增 ] ... TEMPLATES = [ { BACKEND: django.template.backends.django.DjangoTemplates, DIRS: [os.path.join(BASE_DIR, templates)] , APP_DIRS: True, OPTIONS: { context_processors: [ django.template.context_processors.debug
, django.template.context_processors.request, django.contrib.auth.context_processors.auth, django.contrib.messages.context_processors.messages, social_django.context_processors.backends, # 新增 social_django.context_processors.login_redirect
, #新增 ], }, }, ] ... AUTHENTICATION_BACKENDS = ( social_core.backends.github.GithubOAuth2, django.contrib.auth.backends.ModelBackend, ) # 新增 SOCIAL_AUTH_URL_NAMESPACE = social # 新增 # 填寫Github中獲取到的KEY和SECRET SOCIAL_AUTH_GITHUB_KEY = b6696e45bd0162e22901 SOCIAL_AUTH_GITHUB_SECRET = ba0e9d344c84bad09822cb2f5c04dbcbaa089e20 SOCIAL_AUTH_GITHUB_USE_OPENID_AS_USERNAME = True # 登陸成功後的回調路由 SOCIAL_AUTH_LOGIN_REDIRECT_URL = /account # 登陸成功之後的路由

4、同步數據庫

python manage.py migrate

5、修改項目下的urls.py

#新增
url(‘‘, include(social_django.urls, namespace=social)),

6、在登陸的模板新增

<a href="{% url "social:begin" "github" %}">Github登陸</a>

7、結果演示

技術分享圖片

技術分享圖片

技術分享圖片技術分享圖片

django實現github第三方本地登錄