Skip to main content

Aserto integration for Flask

Project description

Aserto Flask middleware

This is the official library for integrating Aserto authorization into your Flask applications.

For a example of what this looks like in a running Flask app and guidance on connecting an identity provider, see the PeopleFinder app example.

Features

Add authorization checks to your routes

from flask_aserto import AsertoMiddleware, AuthorizationError


app = Flask(__name__)
aserto = AsertoMiddleware(**aserto_options)


@app.route("/api/users/<id>", methods=["GET"])
@aserto.authorize
def api_user(id: str) -> Response:
    # Raises an AuthorizationError if the `GET.api.users.__id`
    # policy returns a decision of "allowed = false" 
    ...

Automatically create a route to serve a Display State Map

# Defaults to creating a route at the path "/__displaystatemap" 
aserto.register_display_state_map(app)

Perform more finely controlled authorization checks

@app.route("/api/users/<id>", methods=["GET"])
async def api_user(id: str) -> Response:
    # This also automatically knows to check the `GET.api.users.__id` policy
    if not await aserto.check("allowed"):
        raise AuthorizationError()

    ...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flask-aserto-0.30.1.tar.gz (5.7 kB view hashes)

Uploaded Source

Built Distribution

flask_aserto-0.30.1-py3-none-any.whl (7.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page