Giter VIP home page Giter VIP logo

solidctrlapp's Introduction

Solid-Ctrl App

The Solid-Ctrl App provides an interface for Solid JS Applications to authenticate to remote Solid resources. That is when an application receives a 40x response from a resource with an WWW-Authenticate: HttpSig header as defined in HttpSig it can pass the response and the desired request to the library which will

  1. fetch the remote Web Access Control (WAC) Document for that resource
  2. find out from the WAC doc if it has the required keys to sign the message
  3. if it has the key (and no policy stops it signing such a request for that JS client) it can sign the specific request

This library could be used directly by any App. But since not every App should have the trust of a user, there needs to be a trusted Solid-Ctrl App that can create asymmetric key-pairs, publish them to the user's POD and do the signing for the end user following policies allowed by the user (expressible using the WAC ontology we believe)

The details initial demonstration of how this can work are detailed in the Launcher App project.

Notes

This library currently contains a Scala-JS wrapper for a number of Turtle-like language parsers, and these will need to be moved to banana-rdf at some point.

Prerequisites

You should make sure that the following components are pre-installed on your machine:

Create a module

in sbt shell: fastOptJS::webpack or fullOptJS::webpack

Working in dev mode

In sbt shell, run dev. Then open http://localhost:8080/ in your browser.

This sbt-task will start webpack dev server, compile your code each time it changes and auto-reload the page.
webpack dev server will close automatically when you stop the dev task (e.g by hitting Enter in the sbt shell while you are in dev watch mode).

If you exited ungracefully and your webpack dev server is still open (check with ps -aef | grep -v grep | grep webpack), you can close it by running fastOptJS::stopWebpackDevServer in sbt.

Thanks

This work was made possible by the generous EU grant from nlnet for the Solid Control Project. That project is to end in January 2022.

If you wish this project to progress faster please contact [email protected] or leave issues in the Issue DataBase.

We are looking for further funding opportunities to continue the work.

solidctrlapp's People

Contributors

bblfish avatar

Stargazers

Matthieu Bosquet avatar

Watchers

 avatar James Cloos avatar XD avatar

Forkers

csarven

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.