Action Provider Tools

This toolkit provides the following components:

1. Authentication helpers that make it easier to validate Globus Auth tokens and determine if a given request should be authorized.

2. Pydantic and OpenAPI v3 specification based validation helpers that can be used to validate incoming requests and verify the responses your Action Provider generates. This document also defines the interface which must be supported by your REST API to have it function as an Action Provider.

3. Simple bindings for the document types Action Request and Action Status to Python object representations and a helper JsonEncoder for serializing and deserializing these structures to/from JSON.

4. Flask helper methods for binding the REST API calls defined by the Action Interface to a Flask application. These helpers will perform the Authentication and Validation steps (as provided by components 1 and 2) and communicate with an Action Provider implementation using the structures defined in 3. For those users building an Action Provider using Flask, this provides a simplified method of getting the REST API implemented and removing common requirements so the focus can be on the logic of the Action provided.

5. Caching guide for tweaking the performance of Action Providers with relation to Globus Auth.

6. Testing tools provides various resources for stubbing Authentication out of an Action Provider and providing a simple way of validating an Action Provider’s behavior.