def get(self):
parser = reqparse.RequestParser()
parser.add_argument("code", type=str, required=True, location="json")
code = parser.parse_args()["code"]
response = json.loads(requests.post("https://github.com/login/oauth/access_token", json={"code": code, "client_id": GITHUB_CLIENT_ID, "client_secret": GITHUB_CLIENT_SECRET}).text)
accessToken = response["access_token"]
githubUser = json.loads(requests.get("https://api.github.com/user", data={"access_token": accessToken}).text)
dbUser = db.user.find_one({"_id": githubUser['id']})
if dbUser is None:
newUser = {"_id": githubUser["id"], "name": githubUser['username'], "joinDate": datetime.datetime.today().strftime('%Y-%m-%d')}
db.tempUser.insert_one(newUser)
return redirect(WEBSITE_DOMAIN+"/signup.html#"+newUser["_id"])
else:
session['userID'] = dbUser["_id"]
return jsonify({ "loggedIn": True, "user": user })
评论列表
文章目录