Python falcon.HTTP_401 Examples
The following are 7
code examples of falcon.HTTP_401().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
falcon
, or try the search function
.
Example #1
Source File: policy.py From drydock with Apache License 2.0 | 5 votes |
def __call__(self, f): @functools.wraps(f) def secure_handler(slf, req, resp, *args, **kwargs): ctx = req.context policy_engine = ctx.policy_engine self.logger.debug("Enforcing policy %s on request %s" % (self.action, ctx.request_id)) if policy_engine is not None and policy_engine.authorize( self.action, ctx): return f(slf, req, resp, *args, **kwargs) else: if ctx.authenticated: slf.info( ctx, "Error - Forbidden access - action: %s" % self.action) slf.return_error( resp, falcon.HTTP_403, message="Forbidden", retry=False) else: slf.info(ctx, "Error - Unauthenticated access") slf.return_error( resp, falcon.HTTP_401, message="Unauthenticated", retry=False) return secure_handler
Example #2
Source File: insert.py From LicenseServer with MIT License | 5 votes |
def on_post(self, req, resp): validRequest = authenticate(req) if not validRequest: resp.body = "Invalid username/password" resp.status = falcon.HTTP_401 return session = Session(engine) valueDict = getJson(req) signatureQuery = getSignatureQuery(req, session) message = "Unable to add Signature" resp.status = falcon.HTTP_400 if "Signature" in valueDict.keys() and signatureQuery is None: signatureRow = createSignatureRow(session, valueDict) message = "Unable to create signature row" if signatureRow is not None: session.add(signatureRow) message = "Added signature to database: {}".format(signatureRow.PrimaryKey) resp.status = falcon.HTTP_200 elif "Signature" in valueDict.keys(): message = "Unable to add Signature, already exists in database" resp.body = message print(message) session.commit() session.close()
Example #3
Source File: authentication.py From python-ddd with MIT License | 5 votes |
def authenticate(self, req): if req.auth is None: raise falcon.HTTPError( status=falcon.HTTP_401, title='Authentication failed', description='Authorization header is missing' ) auth_type, credentials = req.auth.split(' ') if auth_type.lower() != 'basic': raise falcon.HTTPError( status=falcon.HTTP_401, title='Authentication failed', description="Expected 'Authorization: Basic <credentials>' header" ) try: decoded_credentials = base64.b64decode(credentials) login, password = decoded_credentials.decode().split(':') except Exception as e: raise falcon.HTTPError( status=falcon.HTTP_401, title='Authentication failed', description='Invalid credentials ({})'.format(e) ) user = self._users_repository.get_user_by_login_and_password(login, password) if user is None: raise falcon.HTTPError( status=falcon.HTTP_401, title='Authentication failed', description='Invalid credentials' ) return user
Example #4
Source File: policy.py From drydock with Apache License 2.0 | 5 votes |
def __call__(self, f): @functools.wraps(f) def secure_handler(slf, req, resp, *args, **kwargs): ctx = req.context policy_engine = ctx.policy_engine self.logger.debug("Enforcing policy %s on request %s" % (self.action, ctx.request_id)) if policy_engine is not None and policy_engine.authorize( self.action, ctx): return f(slf, req, resp, *args, **kwargs) else: if ctx.authenticated: slf.info( ctx, "Error - Forbidden access - action: %s" % self.action) slf.return_error( resp, falcon.HTTP_403, message="Forbidden", retry=False) else: slf.info(ctx, "Error - Unauthenticated access") slf.return_error( resp, falcon.HTTP_401, message="Unauthenticated", retry=False) return secure_handler
Example #5
Source File: test_logs.py From monasca-log-api with Apache License 2.0 | 5 votes |
def test_should_fail_not_delegate_ok_cross_tenant_id(self, _, __): _init_resource(self) res = self.simulate_request( path='/log/single', method='POST', query_string='tenant_id=1', headers={ 'Content-Type': 'application/json', 'Content-Length': '0' } ) self.assertEqual(falcon.HTTP_401, res.status)
Example #6
Source File: policy.py From promenade with Apache License 2.0 | 4 votes |
def __call__(self, f): @functools.wraps(f) def secure_handler(slf, req, resp, *args, **kwargs): ctx = req.context policy_eng = ctx.policy_engine # policy engine must be configured if policy_eng is not None: LOG.debug( 'Enforcing policy %s on request %s using engine %s', self.action, ctx.request_id, policy_eng.__class__.__name__, ctx=ctx) else: LOG.error('No policy engine configured', ctx=ctx) raise ex.PromenadeException( title="Auth is not being handled by any policy engine", status=falcon.HTTP_500, retry=False) authorized = False try: if policy_eng.authorize(self.action, ctx): LOG.debug('Request is authorized', ctx=ctx) authorized = True except Exception: LOG.exception( 'Error authorizing request for action %s', self.action, ctx=ctx) raise ex.ApiError( title="Expectation Failed", status=falcon.HTTP_417, retry=False) if authorized: return f(slf, req, resp, *args, **kwargs) else: # raise the appropriate response exeception if ctx.authenticated: LOG.error( 'Unauthorized access attempted for action %s', self.action, ctx=ctx) raise ex.ApiError( title="Forbidden", status=falcon.HTTP_403, description="Credentials do not permit access", retry=False) else: LOG.error( 'Unathenticated access attempted for action %s', self.action, ctx=ctx) raise ex.ApiError( title="Unauthenticated", status=falcon.HTTP_401, description="Credentials are not established", retry=False) return secure_handler
Example #7
Source File: policy.py From shipyard with Apache License 2.0 | 4 votes |
def check_auth(ctx, rule): """Checks the authorization to the requested rule :param ctx: the request context for the action being performed :param rule: the name of the policy rule to validate the user in the context against Returns if authorized, otherwise raises an ApiError. """ try: policy_eng = ctx.policy_engine LOG.info("Policy Engine: %s", policy_eng.__class__.__name__) # perform auth LOG.info("Enforcing policy %s on request %s", rule, ctx.request_id) # policy engine must be configured if policy_eng is None: LOG.error( "Error-Policy engine required-action: %s", rule) raise AppError( title="Auth is not being handled by any policy engine", status=falcon.HTTP_500, retry=False ) if policy_eng.authorize(rule, ctx): # authorized - log and return LOG.info("Request to %s is authorized", rule) return except Exception as ex: # couldn't service the auth request LOG.exception("Error - Expectation Failed - action: %s", rule) raise ApiError( title="Expectation Failed", status=falcon.HTTP_417, retry=False ) # raise the appropriate response exeception if ctx.authenticated: # authenticated but not authorized LOG.error("Error: Forbidden access - action: %s", rule) raise ApiError( title="Forbidden", status=falcon.HTTP_403, description="Credentials do not permit access", retry=False ) else: LOG.error("Error - Unauthenticated access") raise ApiError( title="Unauthenticated", status=falcon.HTTP_401, description="Credentials are not established", retry=False )