/SEACT

Solid-Based Extended Access Control and Traceability in Data-Driven Web-Based Systems (SEACT)

Primary LanguageTypeScriptOtherNOASSERTION

Solid-Based Extended Access Control and Traceability in Data-Driven Web-Based Systems (SEACT)

Project Solid 7C4DFF github pages

This work focuses on improving Solid-based extended access control and traceability in data-driven web-based systems. By implementing an extended access control mechanism and improved traceability of data access, this project aims to strengthen the security and transparency of web applications. The Solid Protocol forms the basis for these enhancements, which aim to provide clear and effective control over access to sensitive data.

In this repository you will find the complete source code, detailed integration instructions and examples of how to use these extensions. The thesis provides not only a theoretical foundation, but also practical implementations for developers and researchers concerned with privacy and access control in modern web applications.

Installation

To be able to run the web applications locally, you need the following entries in your host file:

127.0.0.1 client.localhost
127.0.0.1 dpc.localhost
127.0.0.1 proxy.localhost
127.0.0.1 server.localhost

These entries are necessary so that Node.js and Docker can be resolved as local hosts.

In addition, an .env file is required to provide the necessary environment variables at runtime. You can find the available environment variables in .example.env or copy the entire file:

cp .example.env .env

Some variables cannot be set immediately and are only added after the first start of the application.

Installation and Build with Node.js

Once you have performed the general Installation, you can install the project via Node.js. Please use pnpm as package manager for this:

pnpm install

To add the missing environment variables, you can start the application for the first time:

pnpm run dev

Wait until the seeding of the Community Solid Server is finished and execute the bootstrapping script while the application is running:

node ./scripts/install/bootstrap.js

This command completes the missing environment variables in the .env file. The application must be restarted for the environment variables to be loaded.

Installation and Build with Docker

Alternatively, you can also use Docker to install and build the application within a container. However, the general installation must also have been performed for this.

docker network create seact
docker compose up --build

This command builds and starts the application. If this was successful, wait until the seeding of the Community Solid Server is finished, and execute the bootstrapping script:

docker run -it --rm --name seact-bootstrap --network=seact -v "$PWD":/usr/src/app -w /usr/src/app node:22-alpine3.18 node ./scripts/install/bootstrap.js

This command completes the missing environment variables in the .env file. The application must be restarted for the environment variables to be loaded.

Usage

If you want to run this project, enter one of the following commands in your terminal, depending on whether you have installed the application via Node.js or Docker:

pnpm run dev

or

docker compose up

The following users are available in development mode:

name email password

client[1…​100]

client[1…​100]@example.com

secret!

dpc

dpc@example.com

secret!

The accounts are available at http://proxy.localhost:4000/.account/

Licence

This project is part of a master’s thesis. It was created on behalf of mgm tp, which retains copyright to all artifacts. See LICENSE.