django實現github第三方本地登錄
阿新 • • 發佈:2018-09-06
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第三方本地登錄