The Quarkus Zanzibar extension provides Zanzibar style Fine Grain Authorization (FGA) capabilities for Quarkus. An authorization filter and dedicated annotations are provided to provide easy integration of Zanzibar style FGA into applications.
The extension only provides the framework and relies on dedicated connectors to communicate with specific Zanzibar style APIs.
Supported APIs:
The documentation for this extension can be found here.
Adding the quarkus-zanzibar
extension to your project only provides access to the authorization and the annotations
needed to configure authorization on your resource classes and methods.
To communicate with your selected API you will need to add a connector for OpenFGA or Authzed.
OpenFGA Zanzibar Connector
<dependency>
<groupId>io.quarkiverse.zanzibar</groupId>
<artifactId>quarkus-zanzibar-openfga</artifactId>
<version>${zanzibar.version}</version>
</dependency>
Authzed Zanzibar Connector
<dependency>
<groupId>io.quarkiverse.zanzibar</groupId>
<artifactId>quarkus-zanzibar-authzed</artifactId>
<version>${zanzibar.version}</version>
</dependency>
OpenFGA Zanzibar Connector
implementation("io.quarkiverse.zanzibar:quarkus-zanzibar-openfga:${zanzibar.version}")
Authzed Zanzibar Connector
implementation("io.quarkiverse.zanzibar:quarkus-zanzibar-authzed:${zanzibar.version}")
Thanks goes to these wonderful people (emoji key):
Kevin Wooten 💻 🚧 |
This project follows the all-contributors specification. Contributions of any kind welcome!