def post(self): data = tornado.escape.json_decode(self.request.body) token = data.get('token') user = data.get('user') if token == settings.TOKEN_API and user: current = Admin().get_telegram_user_by_name(user) if current.get('error'): self.set_status(403) else: self.write(ApiController(data, current).render()) else: self.set_status(403)
def get(self, slug): if self.ip_check(): if Admin().get_user_by_token(slug): self.set_header("Content-Type", "text/plain") self.render("plugin_user.html", token=slug) else: self.set_status(404)
def __init__(self, data, current): hm = PlayerInfoModel(data, current) self.player = hm.player() if self.player: self.render = hm.to_render_json(Admin().get_players(self.player)) else: raise HTTPError(405, 'Bad arguments in request')
def wrapper(self, *args, **kwargs): result = None gname = None try: token = tornado.escape.json_decode(self.request.body).get( 'token', None) gname = tornado.escape.json_decode(self.request.body).get( 'iitc_player', None) except: token = None if self.get_secure_cookie('ingress-guard'): result = Admin().get_user( self.get_secure_cookie('ingress-guard').decode('UTF-8')) else: if token: result = Admin().get_user_by_token(token) if token == settings.TOKEN_API: self.current_user = True elif result: if result.get('gname') == 'new' and gname and token: Admin().set_gname_by_token(gname, token) self.current_user = result else: self.current_user = False self.clear_cookie("ingress-guard") self.redirect(self.get_argument("next", "/")) return func(self, *args, **kwargs)
def get(self): if self.get_current_user(): self.redirect('/') return if self.get_argument('code', False): user = yield self.get_authenticated_user( redirect_uri=settings.google_redirect_url, code=self.get_argument('code')) if not user: self.clear_all_cookies() raise tornado.web.HTTPError(500, 'Google authentication failed') access_token = str(user['access_token']) http_client = self.get_auth_http_client() response = yield http_client.fetch( 'https://www.googleapis.com/oauth2/v1/userinfo?access_token=' + access_token) if not response: self.clear_all_cookies() raise tornado.web.HTTPError(500, 'Google authentication failed') user = json.loads(response.body.decode('UTF-8')) Admin().create_user(**user) self.set_secure_cookie('ingress-guard', user['email']) self.redirect('/') return elif self.get_secure_cookie('ingress-guard'): self.redirect('/auth/login/') return else: yield self.authorize_redirect( redirect_uri=settings.google_redirect_url, client_id=self.settings['google_oauth']['key'], scope=['email'], response_type='code', extra_params={'approval_prompt': 'auto'})
def __init__(self, data, current): hm = AdminModel(data, current) self.render = hm.to_render_json_userlog(Admin().get_user_log())
def wrapper(self, *args, **kwargs): try: Admin().write_user_log(self.request, self.current) except: pass return func(self, *args, **kwargs)