def pre(self): set_extension(request.environ, "json") MinimalController.pre(self) require_https() try: access_token = OAuth2AccessToken.get_token( self._get_bearer_token()) require(access_token) require(access_token.check_valid()) c.oauth2_access_token = access_token account = Account._byID36(access_token.user_id, data=True) require(account) require(not account._deleted) c.oauth_user = account except RequirementException: self._auth_error(401, "invalid_token") handler = self._get_action_handler() if handler: oauth2_perms = getattr(handler, "oauth2_perms", None) if oauth2_perms: grant = OAuth2Scope(access_token.scope) if grant.subreddit_only and c.site.name not in grant.subreddits: self._auth_error(403, "insufficient_scope") required_scopes = set(oauth2_perms['allowed_scopes']) if not (grant.scopes >= required_scopes): self._auth_error(403, "insufficient_scope") else: self._auth_error(400, "invalid_request")
def authenticate_with_token(self): set_extension(request.environ, "json") set_content_type() require_https() require_domain(g.oauth_domain) try: access_token = OAuth2AccessToken.get_token(self._get_bearer_token()) require(access_token) require(access_token.check_valid()) c.oauth2_access_token = access_token account = Account._byID36(access_token.user_id, data=True) require(account) require(not account._deleted) c.oauth_user = account except RequirementException: self._auth_error(401, "invalid_token") handler = self._get_action_handler() if handler: oauth2_perms = getattr(handler, "oauth2_perms", None) if oauth2_perms or True: grant = OAuth2Scope(access_token.scope) required = set(oauth2_perms['allowed_scopes']) if not grant.has_access(c.site.name, required): self._auth_error(403, "insufficient_scope") c.oauth_scope = grant else: self._auth_error(400, "invalid_request")
def authenticate_with_token(self): set_extension(request.environ, "json") set_content_type() require_https() require_domain(g.oauth_domain) try: access_token = OAuth2AccessToken.get_token( self._get_bearer_token()) require(access_token) require(access_token.check_valid()) c.oauth2_access_token = access_token account = Account._byID36(access_token.user_id, data=True) require(account) require(not account._deleted) c.oauth_user = account except RequirementException: self._auth_error(401, "invalid_token") handler = self._get_action_handler() if handler: oauth2_perms = getattr(handler, "oauth2_perms", None) if oauth2_perms: grant = OAuth2Scope(access_token.scope) required = set(oauth2_perms['allowed_scopes']) if not grant.has_access(c.site.name, required): self._auth_error(403, "insufficient_scope") c.oauth_scope = grant else: self._auth_error(400, "invalid_request")
def pre(self): set_extension(request.environ, "json") MinimalController.pre(self) require_https() try: access_token = OAuth2AccessToken.get_token(self._get_bearer_token()) require(access_token) require(access_token.check_valid()) c.oauth2_access_token = access_token account = Account._byID36(access_token.user_id, data=True) require(account) require(not account._deleted) c.oauth_user = account except RequirementException: self._auth_error(401, "invalid_token") handler = self._get_action_handler() if handler: oauth2_perms = getattr(handler, "oauth2_perms", None) if oauth2_perms: grant = OAuth2Scope(access_token.scope) if grant.subreddit_only and c.site.name not in grant.subreddits: self._auth_error(403, "insufficient_scope") required_scopes = set(oauth2_perms['allowed_scopes']) if not (grant.scopes >= required_scopes): self._auth_error(403, "insufficient_scope") else: self._auth_error(400, "invalid_request")
def pre(self): if g.disallow_db_writes: abort(403) set_extension(request.environ, "json") MinimalController.pre(self) require_https() if request.method != "OPTIONS": c.oauth2_client = self._get_client_auth()
def __call__(self, environ, start_response): path = environ['PATH_INFO'] domain_ext = environ.get('sciteit-domain-extension') for ext, val in extension_mapping.iteritems(): if ext == domain_ext or path.endswith('.' + ext): set_extension(environ, ext) #strip off the extension if path.endswith('.' + ext): environ['PATH_INFO'] = path[:-(len(ext) + 1)] break else: environ['render_style'] = 'html' environ['content_type'] = 'text/html; charset=UTF-8' return self.app(environ, start_response)
def __call__(self, environ, start_response): path = environ['PATH_INFO'] domain_ext = environ.get('reddit-domain-extension') for ext, val in extension_mapping.iteritems(): if ext == domain_ext or path.endswith('.' + ext): set_extension(environ, ext) #strip off the extension if path.endswith('.' + ext): environ['PATH_INFO'] = path[:-(len(ext) + 1)] break else: environ['render_style'] = 'html' environ['content_type'] = 'text/html; charset=UTF-8' return self.app(environ, start_response)
def __call__(self, environ, start_response): path = environ['PATH_INFO'] fname, sep, path_ext = path.rpartition('.') domain_ext = environ.get('reddit-domain-extension') ext = None if path_ext in extension_mapping: ext = path_ext # Strip off the extension. environ['PATH_INFO'] = path[:-(len(ext) + 1)] elif domain_ext in extension_mapping: ext = domain_ext if ext: set_extension(environ, ext) else: environ['render_style'] = 'html' environ['content_type'] = 'text/html; charset=UTF-8' return self.app(environ, start_response)
def __call__(self, environ, start_response): path = environ["PATH_INFO"] fname, sep, path_ext = path.rpartition(".") domain_ext = environ.get("reddit-domain-extension") ext = None if path_ext in extension_mapping: ext = path_ext # Strip off the extension. environ["PATH_INFO"] = path[: -(len(ext) + 1)] elif domain_ext in extension_mapping: ext = domain_ext if ext: set_extension(environ, ext) else: environ["render_style"] = "html" environ["content_type"] = "text/html; charset=UTF-8" return self.app(environ, start_response)
def pre(self): set_extension(request.environ, "json") MinimalController.pre(self) require_https() try: access_token = self._get_bearer_token() require(access_token) c.oauth2_access_token = access_token account = Account._byID(access_token.user_id, data=True) require(account) require(not account._deleted) c.oauth_user = account except RequirementException: self._auth_error(401, "invalid_token") handler = self._get_action_handler() if handler: oauth2_perms = getattr(handler, "oauth2_perms", None) if oauth2_perms: if access_token.scope not in oauth2_perms["allowed_scopes"]: self._auth_error(403, "insufficient_scope") else: self._auth_error(400, "invalid_request")
def pre(self): set_extension(request.environ, "json") MinimalController.pre(self) require_https() c.oauth2_client = self._get_client_auth()
def pre(self): set_extension(request.environ, "json") self.check_for_bearer_token() RedditController.pre(self)
def pre(self): set_extension(request.environ, "json") RedditController.pre(self)
def pre(self): super(APIv1LoginController, self).pre() c.extension = "json" set_extension(request.environ, "json")
def pre(self): WikiController.pre(self) c.render_style = 'api' set_extension(request.environ, 'json')
def pre(self): WikiController.pre(self) c.render_style = "api" set_extension(request.environ, "json")
def pre(self): set_extension(request.environ, "json") MinimalController.pre(self) require_https() if request.method != "OPTIONS": c.oauth2_client = self._get_client_auth()