def login(self, **kwargs):
try:
oauth2_session = requests_oauthlib.OAuth2Session(client_id=self.get_config_value('CLIENT_ID'),
redirect_uri=self.callback_url(**kwargs),
scope=self.get_config_value('SCOPES'),
state=flask.session[self.state_session_key])
token = oauth2_session.fetch_token(self.get_config_value('TOKEN_URL'),
code=flask.request.args['code'], client_secret=self.get_config_value('CLIENT_SECRET'))
except Exception as exc:
flask.current_app.logger.exception("exception while retrieving token")
self.login_failure_func(exc)
try:
profile = self.get_profile(oauth2_session)
except Exception as exc:
flask.current_app.logger.exception("exception while retrieving profile")
self.login_failure_func(exc)
# flask.current_app.logger.debug("profile: {!s}".format(pprint.pformat(profile)))
return self.login_success_func(token, profile, **kwargs)
评论列表
文章目录