Django 接入 GitHub OAuth 的正确姿势

Django 如何正确接入 GitHub OAuth? 项目地址: https://github.com/hsowan/CSDNBot/tree/web 首先, 创建 GitHub OAuth Apps {% img /images/new-github-oauth-app.png %} 其中值得注意的有: Authorization callback URL (认证后的回调地址), 比如: http://localhost:8000/api/login/oauth/code/github/, 在认证之后将跳转到这个地址并带上一个 code 参数, 这个参数会用来请求 access_token Client ID 和 Client Secret 也是用户请求 access_token 的参数 然后, 在 Django 项目中添加路由 from django.urls import re_path from . import apis urlpatterns = [ re_path(r'^api/login/oauth/code/github/?$', apis.github_oauth_callback), ] 实现 github_oauth_callback: import requests from django.conf import settings import json from django.shortcuts import redirect # https://github.com/login/oauth/authorize?client_id=bd4692513cb71ba05c22&scope=user def github_oauth_callback(request): code = request....

August 21, 2019 · 1 min · K8sCat