def get(self): gh_code = self.get_query_argument('code', None) if not gh_code: return self.redirect('/') gh_oauth = OAuth(gh_code) yield gh_oauth.set_access_token() if not gh_oauth.access_token: return self.redirect('/') user_data = yield gh_oauth.get_user_data() login = user_data['login'] user = yield User.get(login=login) if not user: user = User(login, data=user_data, gh_token=gh_oauth.access_token) yield user.put() self.set_secure_cookie('token', user.token) self.redirect('/')