A Solid Community Server recipe with the easy-token registration page.
Status: Currently a working POC, but some improvement remains, including a decent amount of code cleaning ( see TODO below ).
Easy-token is a CSS component that improve registration flow when creating a Pod with an existing WebID.
Easy-token allows verifying WebIDs ownership by simply clicking a button instead of manually adding a verification token.
When creating a new Pod with an existing WebID, CSS would ask the user to prove that their own the given WebID by adding a verification token to their WebID document ( see screenshot below). To do so, the user would do the following steps:
- Open a pod browser (such as Penny) in a new window
- Log in to the pod browser
- Browse to the WebID document
- Copy past the verification token triple and add it to the WebID document ( this operation can be complicated for newcomers)
The proposed solution is to automate the former steps with a simple button. The steps to verify the WebID are the following:
- click the "Proove that I own this webId" button
- login to your IDP The script will do the rest.
without easy-token | with easy-token |
---|---|
![]() |
![]() |
|
git clone https://github.com/joeitu/easy-token.git
cd easy-token
npm ci
npm run start -- -c ./config/default-easy-token.json
Assuming that you already have a WebID, you can now go to the registration page /idp/register/
and choose the option to Use my existing WebID to access my Pod
Enter your WebID host and click the Verify my WebID button. You should be redirected to your IDP provider, log in with your credential, and done! Now you can finish the registration form as usual.
- Clean and refactore code
- Simplify config import
- Add a function that check that the verification toekn is correclty added to the WebID document
- Display an error or validation message
- Don't fail quietly, display error message to the user
- remove oidcIssuerRegistrationToken after registration
- add oidcIssuer to the webId document after registration?
- Make a NPM package