MCPcopy
hub / github.com/tornadoweb/tornado / get

Method get

demos/google_auth/main.py:59–83  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

57
58class LoginHandler(BaseHandler, tornado.auth.GoogleOAuth2Mixin):
59 async def get(self):
60 redirect_uri = urllib.parse.urljoin(
61 self.application.settings["redirect_base_uri"],
62 self.reverse_url("google_oauth"),
63 )
64 if self.get_argument("code", False):
65 access = await self.get_authenticated_user(
66 redirect_uri=redirect_uri, code=self.get_argument("code")
67 )
68 user = await self.oauth2_request(
69 "https://www.googleapis.com/oauth2/v1/userinfo",
70 access_token=access["access_token"],
71 )
72 # Save the user and access token.
73 user_cookie = dict(id=user["id"], access_token=access["access_token"])
74 self.set_signed_cookie("googledemo_user", json.dumps(user_cookie))
75 self.redirect("/")
76 else:
77 self.authorize_redirect(
78 redirect_uri=redirect_uri,
79 client_id=self.get_google_oauth_settings()["key"],
80 scope=["profile", "email"],
81 response_type="code",
82 extra_params={"approval_prompt": "auto"},
83 )
84
85
86class LogoutHandler(BaseHandler):

Callers

nothing calls this directly

Calls 8

get_argumentMethod · 0.80
oauth2_requestMethod · 0.80
set_signed_cookieMethod · 0.80
redirectMethod · 0.80
reverse_urlMethod · 0.45
authorize_redirectMethod · 0.45

Tested by

no test coverage detected