Exemplo n.º 1
0
    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")
Exemplo n.º 2
0
    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