def __init__(self): pass async def authenticate(self, context): header_value = context.get_first_header(b"Authorization") if header_value: data = json.loads(urlsafe_b64decode(header_value).decode("utf8")) context.identity = Identity(data, "FAKE") else: context.identity = None return context.identity app_two.use_authentication().add(MockAuthHandler()) app_two.use_authorization().add(AdminsPolicy()).add( Policy("authenticated", AuthenticatedRequirement())) @auth("admin") @app_two.router.get("/only-for-admins") async def only_for_admins(): return None @auth("authenticated") @app_two.router.get("/only-for-authenticated-users") async def only_for_authenticated_users(): return None @app_two.route("/crash")
async def authenticate(self, context): header_value = context.get_first_header(b'Authorization') if header_value: data = json.loads(urlsafe_b64decode(header_value).decode('utf8')) context.identity = Identity(data, 'FAKE') else: context.identity = None return context.identity app_two.use_authentication().add(MockAuthHandler()) app_two.use_authorization()\ .add(AdminsPolicy())\ .add(Policy('authenticated', AuthenticatedRequirement())) @auth('admin') @app_two.router.get('/only-for-admins') async def only_for_admins(): return None @auth('authenticated') @app_two.router.get('/only-for-authenticated-users') async def only_for_authenticated_users(): return None