The latest addition to Inrupt's JavaScript Libraries - Universal Access Control APIs

A general API to manage data access control on a Solid Pod

In the Solid ecosystem, Solid Servers and their Pods can choose between two different models to manage access to their resources: WAC (Web Access Control) and ACP (Access Control Policies), each with their own strengths.

Because there are multiple access control models, applications must resolve which model is being used by a Pod at runtime. The app must then leverage the correct methods to interact with that model and work out how to use both models’ methods in a way that allows the app to work with either. Solid applications need to manage the complexities of supporting multiple models for different Pods and provide a consistent UX across the board.

Learning how both models work in detail and efficiently managing all use cases can be time-intensive and not something every developer wants to spend their time on. For this reason, the Inrupt team has decided to simplify the development experience by providing an abstraction layer to access controls.

We are proud to announce the Universal Access Control APIs. These APIs are part of our JavaScript Client Libraries and allow developers to write code that is interoperable and agnostic to the access control mechanism the Pod is using. This allows developers to easily build apps that work seamlessly across WAC and ACP.

The Universal Access Control APIs provide a general access control mechanism that guarantees interoperability across WAC and ACP, lowering the barrier to entry for both new and existing Solid developers and facilitating interoperability across different server implementations like Node Solid Server, Inrupt’s Enterprise Solid Server and Community Solid Server, among others.

For developers who want to leverage model-specific features they can still do so using our native WAC and ACP APIs.

The alpha release of the Universal Access Control APIs are available immediately for testing purposes as part of our JavaScript Client Libraries. Please give them a try, share your feedback, and let’s build together a better Solid developer experience.


This is really good news!

Decoupling access control to allow different patterns of access will definitely make things simpler. :smiley: