from tornado_py3 import escape as escape, httpclient as httpclient from tornado_py3.httputil import url_concat as url_concat from tornado_py3.util import unicode_type as unicode_type from tornado_py3.web import RequestHandler as RequestHandler from typing import Any, Dict, List, Optional class AuthError(Exception): ... class OpenIdMixin: def authenticate_redirect(self, callback_uri: str=..., ax_attrs: List[str]=...) -> None: ... async def get_authenticated_user(self, http_client: httpclient.AsyncHTTPClient=...) -> Dict[str, Any]: ... def get_auth_http_client(self) -> httpclient.AsyncHTTPClient: ... class OAuthMixin: async def authorize_redirect(self, callback_uri: str=..., extra_params: Dict[str, Any]=..., http_client: httpclient.AsyncHTTPClient=...) -> None: ... async def get_authenticated_user(self, http_client: httpclient.AsyncHTTPClient=...) -> Dict[str, Any]: ... def get_auth_http_client(self) -> httpclient.AsyncHTTPClient: ... class OAuth2Mixin: def authorize_redirect(self, redirect_uri: str=..., client_id: str=..., client_secret: str=..., extra_params: Dict[str, Any]=..., scope: str=..., response_type: str=...) -> None: ... async def oauth2_request(self, url: str, access_token: str=..., post_args: Dict[str, Any]=..., **args: Any) -> Any: ... def get_auth_http_client(self) -> httpclient.AsyncHTTPClient: ... class TwitterMixin(OAuthMixin): async def authenticate_redirect(self, callback_uri: str=...) -> None: ... async def twitter_request(self, path: str, access_token: Dict[str, Any], post_args: Dict[str, Any]=..., **args: Any) -> Any: ... class GoogleOAuth2Mixin(OAuth2Mixin): async def get_authenticated_user(self, redirect_uri: str, code: str) -> Dict[str, Any]: ... class FacebookGraphMixin(OAuth2Mixin): async def get_authenticated_user(self, redirect_uri: str, client_id: str, client_secret: str, code: str, extra_fields: Dict[str, Any]=...) -> Optional[Dict[str, Any]]: ... async def facebook_request(self, path: str, access_token: str=..., post_args: Dict[str, Any]=..., **args: Any) -> Any: ...