mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
Merge branch 'versions/3.0.0'
This commit is contained in:
commit
5d1645aff2
41
CHANGELOG.md
41
CHANGELOG.md
@ -1,6 +1,47 @@
|
||||
# Changelog
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
<a name="v3.0.0"></a>
|
||||
## [v3.0.0](https://github.com/solid/community-server/compare/v2.0.1...v3.0.0) - 2022-02-23
|
||||
|
||||
### Added
|
||||
* [feat: Determine Typed Converter output based on input type](https://github.com/solid/community-server/commit/fa94c7d4bb0d67b0cde264f9515260293b3b904a)
|
||||
* [feat: Add ContentTypeReplacer to conversion chain](https://github.com/solid/community-server/commit/fdd42bb7b3efda8bfac535ef4ff07f45ea4a524a)
|
||||
* [feat: Add "no conversion" as possible path in ChainedConverter](https://github.com/solid/community-server/commit/d52aa94e535768c183589179462af95814b51094)
|
||||
* [feat: Support redirection through errors](https://github.com/solid/community-server/commit/7163a0317b80535ba85e636495cb48b61bb6e6f3)
|
||||
* [feat: Move redirect support from IDP handler to specific handlers](https://github.com/solid/community-server/commit/4241c5348df880646ac39d34d0f733a0743fcb24)
|
||||
* [feat: Create VoidLocker to disable locking resources](https://github.com/solid/community-server/commit/9a1f324685216bd6346fb19e626dcca5145053df)
|
||||
* [chore: Build and push official docker image in CI](https://github.com/solid/community-server/commit/65d1eeb0a2f3ab253efca50d98d6a14c3fa3103c)
|
||||
* [feat: Add support for quota limits](https://github.com/solid/community-server/commit/0cb4d7b16114ce9d0d4c5ae0766b4e4e944af9cf)
|
||||
* [feat: Add support for N3 Patch](https://github.com/solid/community-server/commit/a9941ebe7880cc9bb136786d721c1ba76bda888a)
|
||||
* [feat: Allow for custom CLI and variable options](https://github.com/solid/community-server/commit/c216efd62fcc05aa1db5a0046c3dbc512e7f2d62)
|
||||
* [feat: Send reset password recordId as query parameter](https://github.com/solid/community-server/commit/8f8e8e6df4a4a5d8759c95c2a07e457050830ed6)
|
||||
* [feat: Split up IDP HTML, routing, and handler behaviour](https://github.com/solid/community-server/commit/bc0eeb1012e15e9e9ee0f9085be209f6a9229ccd)
|
||||
* [feat: Update IDP templates to work with new API format](https://github.com/solid/community-server/commit/a684b2ead7365b9409d7f2f4cfa6755e8b951958)
|
||||
* [feat: Simplify setup to be more in line with IDP behaviour](https://github.com/solid/community-server/commit/95777914729890debe0d4815c084029864afaf23)
|
||||
* [feat: Return client information from consent handler](https://github.com/solid/community-server/commit/e604c0c2e427f7cf426cda6e3a52c2d72b997057)
|
||||
* [feat: Warn users when they change the base URL](https://github.com/solid/community-server/commit/62e22100238f1b9dfb13b9f350fccf12184f728b)
|
||||
* [feat: Store the server version on start](https://github.com/solid/community-server/commit/2dc20fe3bc63da1d0a39720410da07f316b253ac)
|
||||
|
||||
### Changed
|
||||
* [refactor: Create BaseTypedRepresentationConverter](https://github.com/solid/community-server/commit/27306d6e3f6f3dda09914e078151a8d07e111869)
|
||||
* [feat: Update IDP parameters to latest Solid-OIDC version](https://github.com/solid/community-server/commit/fc60b5c161853845d1f3e6405e1182948cca421b)
|
||||
* [feat: Move OIDC library behaviour to separate path](https://github.com/solid/community-server/commit/520e4fe42fe14ec80ef0718c7f1214620fdae218)
|
||||
* [fix: Update OIDC provider dependency to v7](https://github.com/solid/community-server/commit/c9ed90aeebaabca957ae1980738f732e5472ee9d)
|
||||
|
||||
### Fixed
|
||||
* [fix: Prefer all inputs equally when generating quads](https://github.com/solid/community-server/commit/c6544fac1db432d1e0ce323bf439c48a7ed5dc52)
|
||||
* [fix: Handle JSON preferences correctly in dynamic converter](https://github.com/solid/community-server/commit/4d319d2564e953514c94cbadf93e28fefc501e86)
|
||||
* [fix: Make UnionCredentialsExtractor tolerate failures.](https://github.com/solid/community-server/commit/c13456c2259538e502a59ce73a226bab2c99c395)
|
||||
* [fix: Accept lowercase Authorization tokens.](https://github.com/solid/community-server/commit/9c52011addde6cbdfd22efeb9485841c640363be)
|
||||
* [feat: Return correct status codes for invalid requests](https://github.com/solid/community-server/commit/1afed65368f98f4fda7bdd8f9fc5071f51d4dc5b)
|
||||
* [fix: Split AccountStorage and ForgotPasswordStorage (expiring now)](https://github.com/solid/community-server/commit/d067165b68a824143ff65f289d8a1e5e53d15103)
|
||||
* [fix: Add content-negotiation when fetching dataset from url](https://github.com/solid/community-server/commit/ce754c119fb87dc8a4f79c639e316bd04d40109b)
|
||||
* [fix: Prevent login page from showing error before redirect](https://github.com/solid/community-server/commit/1ed45c8903e8750b818885cb6e48183e4c36f22a)
|
||||
* [fix: Make IDP routes independent of handlers](https://github.com/solid/community-server/commit/1769b799df090a036f2d2925c06ba8d9f7130e6b)
|
||||
* [fix: Improve OIDC error descriptions](https://github.com/solid/community-server/commit/e9e3c6df3c945e187ae351f15bfe1a6df75e47a9)
|
||||
|
||||
|
||||
<a name="v2.0.1"></a>
|
||||
## [v2.0.1](https://github.com/solid/community-server/compare/v2.0.0...v2.0.1) - 2021-11-02
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright © 2019–2021 Inrupt Inc. and imec
|
||||
Copyright © 2019–2022 Inrupt Inc. and imec
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -1,5 +1,48 @@
|
||||
# Community Solid Server release notes
|
||||
|
||||
## v3.0.0
|
||||
### New features
|
||||
- The Identity Provider now uses the `webid` scope as required for Solid-OIDC.
|
||||
- The `VoidLocker` can be used to disable locking for development/testing purposes.
|
||||
This can be enabled by changing the `/config/util/resource-locker/` import to `debug-void.json`
|
||||
- Added support for setting a quota on the server. See the `config/quota-file.json` config for an example.
|
||||
- An official docker image is now built on each version tag and published at https://hub.docker.com/r/solidproject/community-server.
|
||||
- Added support for N3 Patch.
|
||||
- It is now possible to customize arguments to the `community-solid-server` command,
|
||||
which enables passing custom variables to configurations and setting new default values.
|
||||
- The AppRunner functions have changed to require Components.js variables.
|
||||
This is important for anyone who starts the server from code.
|
||||
- When logging in, a consent screen will now provide information about the client.
|
||||
|
||||
### Configuration changes
|
||||
You might need to make changes to your v2 configuration if you use a custom config.
|
||||
|
||||
The `@context` needs to be updated to
|
||||
`https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld`.
|
||||
|
||||
The following changes pertain to the imports in the default configs:
|
||||
- A new configuration option needs to be imported:
|
||||
- `/app/variables/default/json` contains everything related to parsing CLI arguments
|
||||
and assigning values to variables.
|
||||
|
||||
The following changes are relevant for v2 custom configs that replaced certain features.
|
||||
- Conversion has been simplified so most converters are part of the conversion chain:
|
||||
- `/util/representation-conversion/default.json`
|
||||
- The IDP settings have changed to support the latest Solid-OIDC draft.
|
||||
- `/identity/handler/provider-factory/identity.json`
|
||||
- Requests targeting the OIDC library now use a separate handler.
|
||||
- `/http/handler/default.json`
|
||||
- `/identity/handler/default.json`
|
||||
- The architecture of IDP interaction handlers has completely changed to improve modularity
|
||||
- `/identity/handler/interaction/*`
|
||||
- `/identity/registration/*`
|
||||
|
||||
### Interface changes
|
||||
These changes are relevant if you wrote custom modules for the server that depend on existing interfaces.
|
||||
- `TypedRepresentationConverter` function signatures changed
|
||||
and base functionality moved to `BaseTypedRepresentationConverter`.
|
||||
- Many changes to several components related to the IDP. This includes the HTML templates.
|
||||
|
||||
## v2.0.0
|
||||
### New features
|
||||
- Pod owners always have Control access to resources stored in their Pod.
|
||||
|
@ -1,4 +1,3 @@
|
||||
#!/usr/bin/env node
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
const { AppRunner } = require('..');
|
||||
new AppRunner().runCli(process);
|
||||
new AppRunner().runCliSync(process);
|
||||
|
@ -20,3 +20,11 @@ Handles the setup page the first time the server is started.
|
||||
* *optional*: Setup is available at `/setup` but the server can already be used.
|
||||
Everyone can access the setup page so make sure to complete that as soon as possible.
|
||||
* *required*: All requests will be redirected to the setup page until setup is completed.
|
||||
|
||||
## Variables
|
||||
Handles parsing CLI parameters and assigning values to Components.js variables.
|
||||
Some parts of the configuration contains variables that can be set as arguments on the command-line.
|
||||
That way, you don't have to edit the configuration files for small changes,
|
||||
such as starting the server with a different hostname.
|
||||
Here, you can customize the mapping from CLI arguments into values for those variables.
|
||||
* *default*: Assigns CLI parameters for all variables defined in `/config/util/variables/default.json`
|
||||
|
@ -1,8 +1,10 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/app/init/initializers/base-url.json",
|
||||
"files-scs:config/app/init/initializers/logger.json",
|
||||
"files-scs:config/app/init/initializers/server.json"
|
||||
"files-scs:config/app/init/initializers/server.json",
|
||||
"files-scs:config/app/init/initializers/version.json"
|
||||
],
|
||||
"@graph": [
|
||||
{
|
||||
@ -11,8 +13,10 @@
|
||||
"@type": "SequenceHandler",
|
||||
"handlers": [
|
||||
{ "@id": "urn:solid-server:default:LoggerInitializer" },
|
||||
{ "@id": "urn:solid-server:default:BaseUrlVerifier" },
|
||||
{ "@id": "urn:solid-server:default:ParallelInitializer" },
|
||||
{ "@id": "urn:solid-server:default:ServerInitializer" }
|
||||
{ "@id": "urn:solid-server:default:ServerInitializer" },
|
||||
{ "@id": "urn:solid-server:default:ModuleVersionVerifier" }
|
||||
]
|
||||
}
|
||||
]
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/app/init/base/init.json"
|
||||
],
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/app/init/base/init.json",
|
||||
"files-scs:config/app/init/initializers/prefilled-root.json"
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/app/init/base/init.json",
|
||||
"files-scs:config/app/init/initializers/root.json"
|
||||
|
13
config/app/init/initializers/base-url.json
Normal file
13
config/app/init/initializers/base-url.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Logs a warning if the base URL changes.",
|
||||
"@id": "urn:solid-server:default:BaseUrlVerifier",
|
||||
"@type": "BaseUrlVerifier",
|
||||
"baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||
"storageKey": "current-base-url",
|
||||
"storage": { "@id": "urn:solid-server:default:SetupStorage" }
|
||||
}
|
||||
]
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": [
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Makes sure the root container exists and contains the necessary resources.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Makes sure the root container exists and contains the necessary resources.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Creates the server that starts listening for requests.",
|
||||
|
12
config/app/init/initializers/version.json
Normal file
12
config/app/init/initializers/version.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Logs a warning if the base URL changes.",
|
||||
"@id": "urn:solid-server:default:ModuleVersionVerifier",
|
||||
"@type": "ModuleVersionVerifier",
|
||||
"storageKey": "current-server-version",
|
||||
"storage": { "@id": "urn:solid-server:default:SetupStorage" }
|
||||
}
|
||||
]
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "This is the entry point to the application. It can be used to both start and stop the server.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/app/init/initializers/root.json"
|
||||
],
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Redirects all request to the setup.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/app/init/initializers/root.json"
|
||||
],
|
||||
@ -14,14 +14,31 @@
|
||||
"args_responseWriter": { "@id": "urn:solid-server:default:ResponseWriter" },
|
||||
"args_operationHandler": {
|
||||
"@type": "SetupHttpHandler",
|
||||
"args_initializer": { "@id": "urn:solid-server:default:RootInitializer" },
|
||||
"args_registrationManager": { "@id": "urn:solid-server:default:SetupRegistrationManager" },
|
||||
"args_handler": {
|
||||
"@type": "SetupHandler",
|
||||
"args_initializer": { "@id": "urn:solid-server:default:RootInitializer" },
|
||||
"args_registrationManager": { "@id": "urn:solid-server:default:SetupRegistrationManager" }
|
||||
},
|
||||
"args_converter": { "@id": "urn:solid-server:default:RepresentationConverter" },
|
||||
"args_storageKey": "setupCompleted-2.0",
|
||||
"args_storage": { "@id": "urn:solid-server:default:SetupStorage" },
|
||||
"args_viewTemplate": "@css:templates/setup/index.html.ejs",
|
||||
"args_responseTemplate": "@css:templates/setup/response.html.ejs",
|
||||
"args_errorHandler": { "@id": "urn:solid-server:default:ErrorHandler" }
|
||||
"args_templateEngine": {
|
||||
"comment": "Renders the specific page and embeds it into the main HTML body.",
|
||||
"@type": "ChainedTemplateEngine",
|
||||
"renderedName": "htmlBody",
|
||||
"engines": [
|
||||
{
|
||||
"comment": "Renders the main setup template.",
|
||||
"@type": "EjsTemplateEngine",
|
||||
"template": "@css:templates/setup/index.html.ejs"
|
||||
},
|
||||
{
|
||||
"comment": "Will embed the result of the first engine into the main HTML template.",
|
||||
"@type": "EjsTemplateEngine",
|
||||
"template": "@css:templates/main.html.ejs"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/app/setup/handlers/setup.json"
|
||||
],
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/app/setup/handlers/redirect.json",
|
||||
"files-scs:config/app/setup/handlers/setup.json"
|
||||
|
67
config/app/variables/cli/cli.json
Normal file
67
config/app/variables/cli/cli.json
Normal file
@ -0,0 +1,67 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Extracts CLI arguments into a key/value object. Config and mainModulePath are only defined here so their description is returned.",
|
||||
"@id": "urn:solid-server-app-setup:default:CliExtractor",
|
||||
"@type": "YargsCliExtractor",
|
||||
"parameters": {
|
||||
"config": {
|
||||
"alias": "c",
|
||||
"requiresArg": true,
|
||||
"type": "string",
|
||||
"describe": "The configuration for the server. The default only stores data in memory; to persist to your filesystem, use @css:config/file.json."
|
||||
},
|
||||
"mainModulePath": {
|
||||
"alias": "m",
|
||||
"requiresArg": true,
|
||||
"type": "string",
|
||||
"describe": "Path from where Components.js will start its lookup when initializing configurations."
|
||||
},
|
||||
"loggingLevel": {
|
||||
"alias": "l",
|
||||
"requiresArg": true,
|
||||
"type": "string",
|
||||
"describe": "The detail level of logging; useful for debugging problems."
|
||||
},
|
||||
"baseUrl": {
|
||||
"alias": "b",
|
||||
"requiresArg": true,
|
||||
"type": "string",
|
||||
"describe": "The public URL of your server."
|
||||
},
|
||||
"port": {
|
||||
"alias": "p",
|
||||
"requiresArg": true,
|
||||
"type": "number",
|
||||
"describe": "The TCP port on which the server runs."
|
||||
},
|
||||
"rootFilePath": {
|
||||
"alias": "f",
|
||||
"requiresArg": true,
|
||||
"type": "string",
|
||||
"describe": "Root folder of the server, when using a file-based configuration."
|
||||
},
|
||||
"showStackTrace": {
|
||||
"alias": "t",
|
||||
"type": "boolean",
|
||||
"describe": "Enables detailed logging on error pages."
|
||||
},
|
||||
"sparqlEndpoint": {
|
||||
"alias": "s",
|
||||
"requiresArg": true,
|
||||
"type": "string",
|
||||
"describe": "URL of the SPARQL endpoint, when using a quadstore-based configuration."
|
||||
},
|
||||
"podConfigJson": {
|
||||
"requiresArg": true,
|
||||
"type": "string",
|
||||
"describe": "Path to the file that keeps track of dynamic Pod configurations."
|
||||
}
|
||||
},
|
||||
"options": {
|
||||
"usage": "node ./bin/server.js [args]"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
16
config/app/variables/default.json
Normal file
16
config/app/variables/default.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/app/variables/cli/cli.json",
|
||||
"files-scs:config/app/variables/resolver/resolver.json"
|
||||
],
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Combines a CliExtractor and SettingsResolver to be used by the AppRunner.",
|
||||
"@id": "urn:solid-server-app-setup:default:CliResolver",
|
||||
"@type": "CliResolver",
|
||||
"cliExtractor": { "@id": "urn:solid-server-app-setup:default:CliExtractor" },
|
||||
"settingsResolver": { "@id": "urn:solid-server-app-setup:default:SettingsResolver" }
|
||||
}
|
||||
]
|
||||
}
|
65
config/app/variables/resolver/resolver.json
Normal file
65
config/app/variables/resolver/resolver.json
Normal file
@ -0,0 +1,65 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Converts an input key/value object into an object mapping values to Components.js variables",
|
||||
"@id": "urn:solid-server-app-setup:default:SettingsResolver",
|
||||
"@type": "CombinedSettingsResolver",
|
||||
"computers": [
|
||||
{
|
||||
"CombinedSettingsResolver:_computers_key": "urn:solid-server:default:variable:baseUrl",
|
||||
"CombinedSettingsResolver:_computers_value": {
|
||||
"@type": "BaseUrlExtractor"
|
||||
}
|
||||
},
|
||||
{
|
||||
"CombinedSettingsResolver:_computers_key": "urn:solid-server:default:variable:loggingLevel",
|
||||
"CombinedSettingsResolver:_computers_value": {
|
||||
"@type": "KeyExtractor",
|
||||
"key": "loggingLevel",
|
||||
"defaultValue": "info"
|
||||
}
|
||||
},
|
||||
{
|
||||
"CombinedSettingsResolver:_computers_key": "urn:solid-server:default:variable:port",
|
||||
"CombinedSettingsResolver:_computers_value": {
|
||||
"@type": "KeyExtractor",
|
||||
"key": "port",
|
||||
"defaultValue": 3000
|
||||
}
|
||||
},
|
||||
{
|
||||
"CombinedSettingsResolver:_computers_key": "urn:solid-server:default:variable:rootFilePath",
|
||||
"CombinedSettingsResolver:_computers_value": {
|
||||
"@type": "AssetPathExtractor",
|
||||
"key": "rootFilePath",
|
||||
"defaultPath": "./"
|
||||
}
|
||||
},
|
||||
{
|
||||
"CombinedSettingsResolver:_computers_key": "urn:solid-server:default:variable:sparqlEndpoint",
|
||||
"CombinedSettingsResolver:_computers_value": {
|
||||
"@type": "KeyExtractor",
|
||||
"key": "sparqlEndpoint"
|
||||
}
|
||||
},
|
||||
{
|
||||
"CombinedSettingsResolver:_computers_key": "urn:solid-server:default:variable:showStackTrace",
|
||||
"CombinedSettingsResolver:_computers_value": {
|
||||
"@type": "KeyExtractor",
|
||||
"key": "showStackTrace",
|
||||
"defaultValue": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"CombinedSettingsResolver:_computers_key": "urn:solid-server:default:variable:AssetPathResolver",
|
||||
"CombinedSettingsResolver:_computers_value": {
|
||||
"@type": "AssetPathExtractor",
|
||||
"key": "podConfigJson",
|
||||
"defaultPath": "./pod-config.json"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,9 +1,10 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/app/main/default.json",
|
||||
"files-scs:config/app/init/initialize-prefilled-root.json",
|
||||
"files-scs:config/app/setup/optional.json",
|
||||
"files-scs:config/app/variables/default.json",
|
||||
"files-scs:config/http/handler/default.json",
|
||||
"files-scs:config/http/middleware/websockets.json",
|
||||
"files-scs:config/http/server-factory/websockets.json",
|
||||
|
@ -1,9 +1,10 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/app/main/default.json",
|
||||
"files-scs:config/app/init/default.json",
|
||||
"files-scs:config/app/setup/required.json",
|
||||
"files-scs:config/app/variables/default.json",
|
||||
"files-scs:config/http/handler/default.json",
|
||||
"files-scs:config/http/middleware/websockets.json",
|
||||
"files-scs:config/http/server-factory/websockets.json",
|
||||
|
@ -1,9 +1,10 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/app/main/default.json",
|
||||
"files-scs:config/app/init/default.json",
|
||||
"files-scs:config/app/setup/required.json",
|
||||
"files-scs:config/app/variables/default.json",
|
||||
"files-scs:config/http/handler/default.json",
|
||||
"files-scs:config/http/middleware/websockets.json",
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/app/main/default.json",
|
||||
"files-scs:config/app/init/initialize-root.json",
|
||||
"files-scs:config/app/setup/disabled.json",
|
||||
"files-scs:config/app/variables/default.json",
|
||||
"files-scs:config/http/handler/default.json",
|
||||
"files-scs:config/http/middleware/websockets.json",
|
||||
"files-scs:config/http/server-factory/websockets.json",
|
||||
|
@ -1,9 +1,10 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/app/main/default.json",
|
||||
"files-scs:config/app/init/default.json",
|
||||
"files-scs:config/app/setup/required.json",
|
||||
"files-scs:config/app/variables/default.json",
|
||||
"files-scs:config/http/handler/default.json",
|
||||
"files-scs:config/http/middleware/websockets.json",
|
||||
"files-scs:config/http/server-factory/websockets.json",
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/app/init/initializers/root.json"
|
||||
"files-scs:config/http/handler/handlers/oidc.json"
|
||||
],
|
||||
"@graph": [
|
||||
{
|
||||
@ -15,6 +15,7 @@
|
||||
"handlers": [
|
||||
{ "@id": "urn:solid-server:default:StaticAssetHandler" },
|
||||
{ "@id": "urn:solid-server:default:SetupHandler" },
|
||||
{ "@id": "urn:solid-server:default:OidcHandler" },
|
||||
{ "@id": "urn:solid-server:default:AuthResourceHttpHandler" },
|
||||
{ "@id": "urn:solid-server:default:IdentityProviderHandler" },
|
||||
{ "@id": "urn:solid-server:default:LdpHandler" }
|
||||
|
18
config/http/handler/handlers/oidc.json
Normal file
18
config/http/handler/handlers/oidc.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Routes all OIDC related requests to the OIDC library.",
|
||||
"@id": "urn:solid-server:default:OidcHandler",
|
||||
"@type": "RouterHandler",
|
||||
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||
"args_targetExtractor": { "@id": "urn:solid-server:default:TargetExtractor" },
|
||||
"args_allowedMethods": [ "*" ],
|
||||
"args_allowedPathNames": [ "^/.oidc/.*", "^/\\.well-known/openid-configuration" ],
|
||||
"args_handler": {
|
||||
"@type": "OidcHttpHandler",
|
||||
"providerFactory": { "@id": "urn:solid-server:default:IdentityProviderFactory" }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "This version of the server has no IDP or pod provisioning.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Adds several constant headers.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Adds all the necessary CORS headers.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Advertises the websocket connection.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/http/middleware/handlers/constant-headers.json",
|
||||
"files-scs:config/http/middleware/handlers/cors.json"
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/http/middleware/handlers/constant-headers.json",
|
||||
"files-scs:config/http/middleware/handlers/cors.json",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "An example of how to set up a server with HTTPS",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Creates a server that supports HTTP requests.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Creates a server that supports both websocket and HTTP requests.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Servers static files on fixed URLs.",
|
||||
@ -12,17 +12,22 @@
|
||||
"StaticAssetHandler:_assets_value": "@css:templates/images/favicon.ico"
|
||||
},
|
||||
{
|
||||
"StaticAssetHandler:_assets_key": "/.well_known/css/styles/",
|
||||
"StaticAssetHandler:_assets_key": "/.well-known/css/styles/",
|
||||
"StaticAssetHandler:_assets_value": "@css:templates/styles/"
|
||||
},
|
||||
{
|
||||
"StaticAssetHandler:_assets_key": "/.well_known/css/fonts/",
|
||||
"StaticAssetHandler:_assets_key": "/.well-known/css/fonts/",
|
||||
"StaticAssetHandler:_assets_value": "@css:templates/fonts/"
|
||||
},
|
||||
{
|
||||
"StaticAssetHandler:_assets_key": "/.well_known/css/images/",
|
||||
"StaticAssetHandler:_assets_key": "/.well-known/css/images/",
|
||||
"StaticAssetHandler:_assets_value": "@css:templates/images/"
|
||||
},
|
||||
{
|
||||
"StaticAssetHandler:_assets_key": "/.well-known/css/scripts/",
|
||||
"StaticAssetHandler:_assets_value": "@css:templates/scripts/"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
]
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Makes sure the IDP container has the necessary root resources.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Makes sure the .well-known container has the necessary root resources. Some IDP resources are stored there due to OIDC requirements.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Allow everyone to register new pods.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/identity/access/initializers/idp.json",
|
||||
"files-scs:config/identity/access/initializers/well-known.json"
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "The default configuration does not contain credentials for an email client. In production systems, you likely want to set up your own.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "This is an example of what an actual email sender configuration would look like.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "The storage adapter that persists usernames, passwords, etc.",
|
||||
@ -8,7 +8,21 @@
|
||||
"saltRounds": 10,
|
||||
"storage": {
|
||||
"@id": "urn:solid-server:default:AccountStorage"
|
||||
},
|
||||
"forgotPasswordStorage": {
|
||||
"@id": "urn:solid-server:default:ExpiringForgotPasswordStorage"
|
||||
}
|
||||
},
|
||||
{
|
||||
"comment": "Stores expiring data. This class has a `finalize` function that needs to be called after stopping the server.",
|
||||
"@id": "urn:solid-server:default:ExpiringForgotPasswordStorage",
|
||||
"@type": "WrappedExpiringStorage",
|
||||
"source": { "@id": "urn:solid-server:default:ForgotPasswordStorage" }
|
||||
},
|
||||
{
|
||||
"comment": "Makes sure the expiring storage cleanup timer is stopped when the application needs to stop.",
|
||||
"@id": "urn:solid-server:default:Finalizer",
|
||||
"ParallelFinalizer:_finalizers": [ { "@id": "urn:solid-server:default:ExpiringForgotPasswordStorage" } ]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "An adapter is responsible for storing all interaction metadata.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/identity/handler/account-store/default.json",
|
||||
"files-scs:config/identity/handler/adapter-factory/webid.json",
|
||||
@ -14,7 +14,7 @@
|
||||
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||
"args_targetExtractor": { "@id": "urn:solid-server:default:TargetExtractor" },
|
||||
"args_allowedMethods": [ "*" ],
|
||||
"args_allowedPathNames": [ "^/idp/.*", "^/\\.well-known/openid-configuration" ],
|
||||
"args_allowedPathNames": [ "^/idp/.*" ],
|
||||
"args_handler": { "@id": "urn:solid-server:default:IdentityProviderParsingHandler" }
|
||||
},
|
||||
{
|
||||
@ -39,16 +39,9 @@
|
||||
"comment": "Handles IDP handler behaviour.",
|
||||
"@id": "urn:solid-server:default:IdentityProviderHttpHandler",
|
||||
"@type": "IdentityProviderHttpHandler",
|
||||
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||
"args_idpPath": "/idp",
|
||||
"args_providerFactory": { "@id": "urn:solid-server:default:IdentityProviderFactory" },
|
||||
"args_converter": { "@id": "urn:solid-server:default:RepresentationConverter" },
|
||||
"args_interactionCompleter": {
|
||||
"comment": "Responsible for finishing OIDC interactions.",
|
||||
"@type": "InteractionCompleter",
|
||||
"providerFactory": { "@id": "urn:solid-server:default:IdentityProviderFactory" }
|
||||
},
|
||||
"args_errorHandler": { "@id": "urn:solid-server:default:ErrorHandler" }
|
||||
"args_handler": { "@id": "urn:solid-server:default:InteractionHandler" }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,19 +1,55 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/identity/handler/interaction/routes/consent.json",
|
||||
"files-scs:config/identity/handler/interaction/routes/forgot-password.json",
|
||||
"files-scs:config/identity/handler/interaction/routes/index.json",
|
||||
"files-scs:config/identity/handler/interaction/routes/login.json",
|
||||
"files-scs:config/identity/handler/interaction/routes/prompt.json",
|
||||
"files-scs:config/identity/handler/interaction/routes/reset-password.json",
|
||||
"files-scs:config/identity/handler/interaction/routes/session.json"
|
||||
"files-scs:config/identity/handler/interaction/views/controls.json",
|
||||
"files-scs:config/identity/handler/interaction/views/html.json"
|
||||
],
|
||||
"@graph": [
|
||||
{
|
||||
"@id": "urn:solid-server:default:IdentityProviderHttpHandler",
|
||||
"IdentityProviderHttpHandler:_args_interactionRoutes": [
|
||||
{ "@id": "urn:solid-server:auth:password:ForgotPasswordRoute" },
|
||||
{ "@id": "urn:solid-server:auth:password:LoginRoute" },
|
||||
{ "@id": "urn:solid-server:auth:password:ResetPasswordRoute" },
|
||||
{ "@id": "urn:solid-server:auth:password:SessionRoute" }
|
||||
"@id": "urn:solid-server:default:InteractionHandler",
|
||||
"@type": "WaterfallHandler",
|
||||
"handlers": [
|
||||
{
|
||||
"comment": "Returns the relevant HTML pages for the interactions when needed",
|
||||
"@id": "urn:solid-server:auth:password:HtmlViewHandler"
|
||||
},
|
||||
{
|
||||
"comment": "Adds controls and API version to JSON responses.",
|
||||
"@id": "urn:solid-server:auth:password:ControlHandler",
|
||||
"ControlHandler:_source" : { "@id": "urn:solid-server:auth:password:LocationInteractionHandler" }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"comment": "Converts 3xx redirects to 200 JSON responses for consumption by browser scripts.",
|
||||
"@id": "urn:solid-server:auth:password:LocationInteractionHandler",
|
||||
"@type": "LocationInteractionHandler",
|
||||
"LocationInteractionHandler:_source" : { "@id": "urn:solid-server:auth:password:InteractionRouteHandler" }
|
||||
},
|
||||
{
|
||||
"comment": "Handles every interaction based on their route.",
|
||||
"@id": "urn:solid-server:auth:password:InteractionRouteHandler",
|
||||
"@type": "WaterfallHandler",
|
||||
"handlers": [
|
||||
{
|
||||
"comment": [
|
||||
"This handler is required to prevent Components.js issues with arrays.",
|
||||
"This might be fixed in the next Components.js release after which this can be removed."
|
||||
],
|
||||
"@type": "UnsupportedAsyncHandler"
|
||||
},
|
||||
{ "@id": "urn:solid-server:auth:password:IndexRouteHandler" },
|
||||
{ "@id": "urn:solid-server:auth:password:PromptRouteHandler" },
|
||||
{ "@id": "urn:solid-server:auth:password:LoginRouteHandler" },
|
||||
{ "@id": "urn:solid-server:auth:password:ConsentRouteHandler" },
|
||||
{ "@id": "urn:solid-server:auth:password:ForgotPasswordRouteHandler" },
|
||||
{ "@id": "urn:solid-server:auth:password:ResetPasswordRouteHandler" }
|
||||
]
|
||||
}
|
||||
]
|
||||
|
21
config/identity/handler/interaction/routes/consent.json
Normal file
21
config/identity/handler/interaction/routes/consent.json
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Handles the interaction that occurs when a logged in user wants to authenticate with a new app.",
|
||||
"@id": "urn:solid-server:auth:password:ConsentRouteHandler",
|
||||
"@type":"InteractionRouteHandler",
|
||||
"route": {
|
||||
"@id": "urn:solid-server:auth:password:ConsentRoute",
|
||||
"@type": "RelativePathInteractionRoute",
|
||||
"base": { "@id": "urn:solid-server:auth:password:IndexRoute" },
|
||||
"relativePath": "/consent/"
|
||||
},
|
||||
"source": {
|
||||
"@id": "urn:solid-server:auth:password:ConsentHandler",
|
||||
"@type": "ConsentHandler",
|
||||
"providerFactory": { "@id": "urn:solid-server:default:IdentityProviderFactory" }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -1,33 +1,26 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Handles all functionality on the forgot password page",
|
||||
"@id": "urn:solid-server:auth:password:ForgotPasswordRoute",
|
||||
"@type": "BasicInteractionRoute",
|
||||
"route": "^/forgotpassword/$",
|
||||
"viewTemplates": {
|
||||
"BasicInteractionRoute:_viewTemplates_key": "text/html",
|
||||
"BasicInteractionRoute:_viewTemplates_value": "@css:templates/identity/email-password/forgot-password.html.ejs"
|
||||
"comment": "Handles the forgot password interaction",
|
||||
"@id": "urn:solid-server:auth:password:ForgotPasswordRouteHandler",
|
||||
"@type":"InteractionRouteHandler",
|
||||
"route": {
|
||||
"@id": "urn:solid-server:auth:password:ForgotPasswordRoute",
|
||||
"@type": "RelativePathInteractionRoute",
|
||||
"base": { "@id": "urn:solid-server:auth:password:IndexRoute" },
|
||||
"relativePath": "/forgotpassword/"
|
||||
},
|
||||
"responseTemplates": {
|
||||
"BasicInteractionRoute:_responseTemplates_key": "text/html",
|
||||
"BasicInteractionRoute:_responseTemplates_value": "@css:templates/identity/email-password/forgot-password-response.html.ejs"
|
||||
},
|
||||
"controls": {
|
||||
"BasicInteractionRoute:_controls_key": "forgotPassword",
|
||||
"BasicInteractionRoute:_controls_value": "/forgotpassword/"
|
||||
},
|
||||
"handler": {
|
||||
"source": {
|
||||
"@id": "urn:solid-server:auth:password:ForgotPasswordHandler",
|
||||
"@type": "ForgotPasswordHandler",
|
||||
"args_accountStore": { "@id": "urn:solid-server:auth:password:AccountStore" },
|
||||
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||
"args_idpPath": "/idp",
|
||||
"args_templateEngine": {
|
||||
"@type": "EjsTemplateEngine",
|
||||
"template": "@css:templates/identity/email-password/reset-password-email.html.ejs"
|
||||
},
|
||||
"args_emailSender": { "@id": "urn:solid-server:default:EmailSender" }
|
||||
"args_emailSender": { "@id": "urn:solid-server:default:EmailSender" },
|
||||
"args_resetRoute": { "@id": "urn:solid-server:auth:password:ResetPasswordRoute" }
|
||||
}
|
||||
}
|
||||
]
|
||||
|
21
config/identity/handler/interaction/routes/index.json
Normal file
21
config/identity/handler/interaction/routes/index.json
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Root API entry. Returns an empty body so we can add controls pointing to other interaction routes.",
|
||||
"@id": "urn:solid-server:auth:password:IndexRouteHandler",
|
||||
"@type": "InteractionRouteHandler",
|
||||
"route": {
|
||||
"@id": "urn:solid-server:auth:password:IndexRoute",
|
||||
"@type": "RelativePathInteractionRoute",
|
||||
"base": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||
"relativePath": "/idp/"
|
||||
},
|
||||
"source": {
|
||||
"@id": "urn:solid-server:auth:password:IndexHandler",
|
||||
"@type": "FixedInteractionHandler",
|
||||
"response": {}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -1,21 +1,18 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Handles all functionality on the Login Page",
|
||||
"@id": "urn:solid-server:auth:password:LoginRoute",
|
||||
"@type": "BasicInteractionRoute",
|
||||
"route": "^/login/$",
|
||||
"prompt": "login",
|
||||
"viewTemplates": {
|
||||
"BasicInteractionRoute:_viewTemplates_key": "text/html",
|
||||
"BasicInteractionRoute:_viewTemplates_value": "@css:templates/identity/email-password/login.html.ejs"
|
||||
"comment": "Handles the login interaction",
|
||||
"@id": "urn:solid-server:auth:password:LoginRouteHandler",
|
||||
"@type": "InteractionRouteHandler",
|
||||
"route": {
|
||||
"@id": "urn:solid-server:auth:password:LoginRoute",
|
||||
"@type": "RelativePathInteractionRoute",
|
||||
"base": { "@id": "urn:solid-server:auth:password:IndexRoute" },
|
||||
"relativePath": "/login/"
|
||||
},
|
||||
"controls": {
|
||||
"BasicInteractionRoute:_controls_key": "login",
|
||||
"BasicInteractionRoute:_controls_value": "/login/"
|
||||
},
|
||||
"handler": {
|
||||
"source": {
|
||||
"@id": "urn:solid-server:auth:password:LoginHandler",
|
||||
"@type": "LoginHandler",
|
||||
"accountStore": { "@id": "urn:solid-server:auth:password:AccountStore" }
|
||||
}
|
||||
|
30
config/identity/handler/interaction/routes/prompt.json
Normal file
30
config/identity/handler/interaction/routes/prompt.json
Normal file
@ -0,0 +1,30 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Handles OIDC redirects containing a prompt, such as login or consent.",
|
||||
"@id": "urn:solid-server:auth:password:PromptRouteHandler",
|
||||
"@type": "InteractionRouteHandler",
|
||||
"route": {
|
||||
"@id": "urn:solid-server:auth:password:PromptRoute",
|
||||
"@type": "RelativePathInteractionRoute",
|
||||
"base": { "@id": "urn:solid-server:auth:password:IndexRoute" },
|
||||
"relativePath": "/prompt/"
|
||||
},
|
||||
"source": {
|
||||
"@type": "PromptHandler",
|
||||
"@id": "urn:solid-server:auth:password:PromptHandler",
|
||||
"promptRoutes": [
|
||||
{
|
||||
"PromptHandler:_promptRoutes_key": "login",
|
||||
"PromptHandler:_promptRoutes_value": { "@id": "urn:solid-server:auth:password:LoginRoute" }
|
||||
},
|
||||
{
|
||||
"PromptHandler:_promptRoutes_key": "consent",
|
||||
"PromptHandler:_promptRoutes_value": { "@id": "urn:solid-server:auth:password:ConsentRoute" }
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -1,21 +1,18 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"comment": "Exports 2 handlers: one for viewing the page and one for doing the reset.",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Handles the reset password page submission",
|
||||
"@id": "urn:solid-server:auth:password:ResetPasswordRoute",
|
||||
"@type": "BasicInteractionRoute",
|
||||
"route": "^/resetpassword/[^/]*$",
|
||||
"viewTemplates": {
|
||||
"BasicInteractionRoute:_viewTemplates_key": "text/html",
|
||||
"BasicInteractionRoute:_viewTemplates_value": "@css:templates/identity/email-password/reset-password.html.ejs"
|
||||
"comment": "Handles the reset password interaction",
|
||||
"@id": "urn:solid-server:auth:password:ResetPasswordRouteHandler",
|
||||
"@type": "InteractionRouteHandler",
|
||||
"route": {
|
||||
"@id": "urn:solid-server:auth:password:ResetPasswordRoute",
|
||||
"@type": "RelativePathInteractionRoute",
|
||||
"base": { "@id": "urn:solid-server:auth:password:IndexRoute" },
|
||||
"relativePath": "/resetpassword/"
|
||||
},
|
||||
"responseTemplates": {
|
||||
"BasicInteractionRoute:_responseTemplates_key": "text/html",
|
||||
"BasicInteractionRoute:_responseTemplates_value": "@css:templates/identity/email-password/reset-password-response.html.ejs"
|
||||
},
|
||||
"handler": {
|
||||
"source": {
|
||||
"@id": "urn:solid-server:auth:password:ResetPasswordHandler",
|
||||
"@type": "ResetPasswordHandler",
|
||||
"accountStore": { "@id": "urn:solid-server:auth:password:AccountStore" }
|
||||
}
|
||||
|
@ -1,17 +0,0 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Handles confirm requests",
|
||||
"@id": "urn:solid-server:auth:password:SessionRoute",
|
||||
"@type": "BasicInteractionRoute",
|
||||
"route": "^/confirm/$",
|
||||
"prompt": "consent",
|
||||
"viewTemplates": {
|
||||
"BasicInteractionRoute:_viewTemplates_key": "text/html",
|
||||
"BasicInteractionRoute:_viewTemplates_value": "@css:templates/identity/email-password/confirm.html.ejs"
|
||||
},
|
||||
"handler": { "@type": "SessionHttpHandler" }
|
||||
}
|
||||
]
|
||||
}
|
27
config/identity/handler/interaction/views/controls.json
Normal file
27
config/identity/handler/interaction/views/controls.json
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"@id": "urn:solid-server:auth:password:ControlHandler",
|
||||
"@type": "ControlHandler",
|
||||
"controls": [
|
||||
{
|
||||
"ControlHandler:_controls_key": "index",
|
||||
"ControlHandler:_controls_value": { "@id": "urn:solid-server:auth:password:IndexRoute" }
|
||||
},
|
||||
{
|
||||
"ControlHandler:_controls_key": "prompt",
|
||||
"ControlHandler:_controls_value": { "@id": "urn:solid-server:auth:password:PromptRoute" }
|
||||
},
|
||||
{
|
||||
"ControlHandler:_controls_key": "login",
|
||||
"ControlHandler:_controls_value": { "@id": "urn:solid-server:auth:password:LoginRoute" }
|
||||
},
|
||||
{
|
||||
"ControlHandler:_controls_key": "forgotPassword",
|
||||
"ControlHandler:_controls_value": { "@id": "urn:solid-server:auth:password:ForgotPasswordRoute" }
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
44
config/identity/handler/interaction/views/html.json
Normal file
44
config/identity/handler/interaction/views/html.json
Normal file
@ -0,0 +1,44 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"@id": "urn:solid-server:auth:password:HtmlViewHandler",
|
||||
"@type": "HtmlViewHandler",
|
||||
"index": { "@id": "urn:solid-server:auth:password:IndexRoute" },
|
||||
"templateEngine": {
|
||||
"comment": "Renders the specific page and embeds it into the main HTML body.",
|
||||
"@type": "ChainedTemplateEngine",
|
||||
"renderedName": "htmlBody",
|
||||
"engines": [
|
||||
{
|
||||
"comment": "Will be called with specific templates to generate HTML snippets.",
|
||||
"@type": "EjsTemplateEngine"
|
||||
},
|
||||
{
|
||||
"comment": "Will embed the result of the first engine into the main HTML template.",
|
||||
"@type": "EjsTemplateEngine",
|
||||
"template": "@css:templates/main.html.ejs"
|
||||
}
|
||||
]
|
||||
},
|
||||
"templates": [
|
||||
{
|
||||
"HtmlViewHandler:_templates_key": "@css:templates/identity/email-password/login.html.ejs",
|
||||
"HtmlViewHandler:_templates_value": { "@id": "urn:solid-server:auth:password:LoginRoute" }
|
||||
},
|
||||
{
|
||||
"HtmlViewHandler:_templates_key": "@css:templates/identity/email-password/consent.html.ejs",
|
||||
"HtmlViewHandler:_templates_value": { "@id": "urn:solid-server:auth:password:ConsentRoute" }
|
||||
},
|
||||
{
|
||||
"HtmlViewHandler:_templates_key": "@css:templates/identity/email-password/forgot-password.html.ejs",
|
||||
"HtmlViewHandler:_templates_value": { "@id": "urn:solid-server:auth:password:ForgotPasswordRoute" }
|
||||
},
|
||||
{
|
||||
"HtmlViewHandler:_templates_key": "@css:templates/identity/email-password/reset-password.html.ejs",
|
||||
"HtmlViewHandler:_templates_value": { "@id": "urn:solid-server:auth:password:ResetPasswordRoute" }
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,49 +1,50 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": [
|
||||
"Sets all the relevant oidc parameters.",
|
||||
"webid claim is in openid scope until an official scope has been decided: https://github.com/solid/authentication-panel/issues/86"
|
||||
],
|
||||
"Sets all the relevant Solid-OIDC parameters.",
|
||||
"dPoP is draft-01 since that is the latest version v6 of the OIDC library supports."
|
||||
],
|
||||
"@id": "urn:solid-server:default:IdentityProviderFactory",
|
||||
"@type": "IdentityProviderFactory",
|
||||
"args_adapterFactory": { "@id": "urn:solid-server:default:IdpAdapterFactory" },
|
||||
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
|
||||
"args_idpPath": "/idp",
|
||||
"args_oidcPath": "/.oidc",
|
||||
"args_interactionHandler": { "@id": "urn:solid-server:auth:password:PromptHandler" },
|
||||
"args_storage": { "@id": "urn:solid-server:default:IdpKeyStorage" },
|
||||
"args_errorHandler": { "@id": "urn:solid-server:default:ErrorHandler" },
|
||||
"args_responseWriter": { "@id": "urn:solid-server:default:ResponseWriter" },
|
||||
"config": {
|
||||
"claims": {
|
||||
"openid": [ "webid", "client_id" ]
|
||||
"openid": [ "azp" ],
|
||||
"webid": [ "webid" ]
|
||||
},
|
||||
"cookies": {
|
||||
"long": { "signed": true, "maxAge": 86400000 },
|
||||
"short": { "signed": true }
|
||||
},
|
||||
"discovery": {
|
||||
"solid_oidc_supported": "https://solidproject.org/TR/solid-oidc"
|
||||
},
|
||||
"features": {
|
||||
"claimsParameter": { "enabled": true },
|
||||
"devInteractions": { "enabled": false },
|
||||
"dPoP": { "enabled": true, "ack": "draft-01" },
|
||||
"dPoP": { "enabled": true, "ack": "draft-03" },
|
||||
"introspection": { "enabled": true },
|
||||
"registration": { "enabled": true },
|
||||
"revocation": { "enabled": true }
|
||||
"revocation": { "enabled": true },
|
||||
"userinfo": { "enabled": false }
|
||||
},
|
||||
"formats": {
|
||||
"AccessToken": "jwt"
|
||||
},
|
||||
"scopes": [ "openid", "profile", "offline_access" ],
|
||||
"subjectTypes": [ "public", "pairwise" ],
|
||||
"scopes": [ "openid", "profile", "offline_access", "webid" ],
|
||||
"subjectTypes": [ "public" ],
|
||||
"ttl": {
|
||||
"AccessToken": 3600,
|
||||
"AuthorizationCode": 600,
|
||||
"BackchannelAuthenticationRequest": 600,
|
||||
"DeviceCode": 600,
|
||||
"Grant": 1209600,
|
||||
"IdToken": 3600,
|
||||
"RefreshToken": 86400
|
||||
"Interaction": 3600,
|
||||
"RefreshToken": 86400,
|
||||
"Session": 1209600
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,10 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Determines WebID ownership by requesting a specific value to be added to the WebID document",
|
||||
"@id": "urn:solid-server:auth:password:OwnershipValidator",
|
||||
"@type": "TokenOwnershipValidator",
|
||||
"converter": { "@id": "urn:solid-server:default:RepresentationConverter" },
|
||||
"storage": { "@id": "urn:solid-server:default:ExpiringTokenStorage" }
|
||||
},
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": [
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/identity/pod/pod-generators/templated.json",
|
||||
"files-scs:config/identity/pod/resource-generators/templated.json"
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Generates ResourceStores that correspond to new pods.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Generates resources based on the templates stored in the template folder.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/identity/pod/resource-generators/templated.json"
|
||||
],
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Disable registration by not attaching a registration handler."
|
||||
|
@ -1,14 +1,38 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/identity/registration/route/registration.json"
|
||||
],
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Enable registration by adding a registration handler to the list of interaction routes.",
|
||||
"@id": "urn:solid-server:default:IdentityProviderHttpHandler",
|
||||
"IdentityProviderHttpHandler:_args_interactionRoutes": [
|
||||
{ "@id": "urn:solid-server:auth:password:RegistrationRoute" }
|
||||
"@id": "urn:solid-server:auth:password:InteractionRouteHandler",
|
||||
"WaterfallHandler:_handlers": [
|
||||
{
|
||||
"comment": [
|
||||
"This handler is required to prevent Components.js issues with arrays.",
|
||||
"This might be fixed in the next Components.js release after which this can be removed."
|
||||
],
|
||||
"@type": "UnsupportedAsyncHandler"
|
||||
},
|
||||
{ "@id": "urn:solid-server:auth:password:RegistrationRouteHandler" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"@id": "urn:solid-server:auth:password:ControlHandler",
|
||||
"ControlHandler:_controls": [
|
||||
{
|
||||
"ControlHandler:_controls_key": "register",
|
||||
"ControlHandler:_controls_value": { "@id": "urn:solid-server:auth:password:RegistrationRoute" }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"@id": "urn:solid-server:auth:password:HtmlViewHandler",
|
||||
"HtmlViewHandler:_templates": [
|
||||
{
|
||||
"HtmlViewHandler:_templates_key": "@css:templates/identity/email-password/register.html.ejs",
|
||||
"HtmlViewHandler:_templates_value": { "@id": "urn:solid-server:auth:password:RegistrationRoute" }
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
@ -1,24 +1,18 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Handles all functionality on the register page",
|
||||
"@id": "urn:solid-server:auth:password:RegistrationRoute",
|
||||
"@type": "BasicInteractionRoute",
|
||||
"route": "^/register/$",
|
||||
"viewTemplates": {
|
||||
"BasicInteractionRoute:_viewTemplates_key": "text/html",
|
||||
"BasicInteractionRoute:_viewTemplates_value": "@css:templates/identity/email-password/register.html.ejs"
|
||||
"comment": "Handles the register interaction",
|
||||
"@id": "urn:solid-server:auth:password:RegistrationRouteHandler",
|
||||
"@type": "InteractionRouteHandler",
|
||||
"route": {
|
||||
"@id": "urn:solid-server:auth:password:RegistrationRoute",
|
||||
"@type": "RelativePathInteractionRoute",
|
||||
"base": { "@id": "urn:solid-server:auth:password:IndexRoute" },
|
||||
"relativePath": "/register/"
|
||||
},
|
||||
"responseTemplates": {
|
||||
"BasicInteractionRoute:_responseTemplates_key": "text/html",
|
||||
"BasicInteractionRoute:_responseTemplates_value": "@css:templates/identity/email-password/register-response.html.ejs"
|
||||
},
|
||||
"controls": {
|
||||
"BasicInteractionRoute:_controls_key": "register",
|
||||
"BasicInteractionRoute:_controls_value": "/register/"
|
||||
},
|
||||
"handler": {
|
||||
"source": {
|
||||
"@id": "urn:solid-server:auth:password:RegistrationHandler",
|
||||
"@type": "RegistrationHandler",
|
||||
"registrationManager": {
|
||||
"@type": "RegistrationManager",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": [
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": [
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Supports DPoP and Bearer access tokens, or no credentials.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": [
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Checks access based on the agent being authenticated or not.",
|
||||
|
@ -1,11 +1,10 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Checks if the agent belongs to a group that has access.",
|
||||
"@id": "urn:solid-server:default:AgentGroupAccessChecker",
|
||||
"@type": "AgentGroupAccessChecker",
|
||||
"converter": { "@id": "urn:solid-server:default:RepresentationConverter" },
|
||||
"cache": {
|
||||
"@id": "urn:solid-server:default:ExpiringAclCache",
|
||||
"@type": "WrappedExpiringStorage",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Checks if a specific WebID has access.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/ldp/authorization/readers/access-checkers/agent.json",
|
||||
"files-scs:config/ldp/authorization/readers/access-checkers/agent-class.json",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Allows pod owners to always edit permissions on the data.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/ldp/authorization/readers/acl.json",
|
||||
"files-scs:config/ldp/authorization/readers/ownership.json"
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Matches requested permissions with those available.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Wraps around the main error handler as a fallback in case something goes wrong.",
|
||||
@ -7,10 +7,19 @@
|
||||
"@type": "SafeErrorHandler",
|
||||
"showStackTrace": { "@id": "urn:solid-server:default:variable:showStackTrace" },
|
||||
"errorHandler": {
|
||||
"comment": "Changes an error into a valid representation to send as a response.",
|
||||
"@type": "ConvertingErrorHandler",
|
||||
"converter": { "@id": "urn:solid-server:default:UiEnabledConverter" },
|
||||
"showStackTrace": { "@id": "urn:solid-server:default:variable:showStackTrace" }
|
||||
"@type": "WaterfallHandler",
|
||||
"handlers": [
|
||||
{
|
||||
"comment": "Internally redirects are created by throwing a specific error, this handler converts them to the correct response.",
|
||||
"@type": "RedirectingErrorHandler"
|
||||
},
|
||||
{
|
||||
"comment": "Converts an Error object into a representation for an HTTP response.",
|
||||
"@type": "ConvertingErrorHandler",
|
||||
"converter": { "@id": "urn:solid-server:default:UiEnabledConverter" },
|
||||
"showStackTrace": { "@id": "urn:solid-server:default:variable:showStackTrace" }
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"@id": "urn:solid-server:default:OperationHandler",
|
||||
@ -28,6 +28,10 @@
|
||||
{
|
||||
"@type": "PatchOperationHandler",
|
||||
"store": { "@id": "urn:solid-server:default:ResourceStore" }
|
||||
},
|
||||
{
|
||||
"@type": "StaticThrowHandler",
|
||||
"error": { "@type": "MethodNotAllowedHttpError" }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"@id": "urn:solid-server:default:OperationMetadataCollector",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Handles everything related to parsing a Request.",
|
||||
@ -16,10 +16,23 @@
|
||||
"args_bodyParser": {
|
||||
"@type": "WaterfallHandler",
|
||||
"handlers": [
|
||||
{ "@type": "SparqlUpdateBodyParser" },
|
||||
{ "@id": "urn:solid-server:default:PatchBodyParser" },
|
||||
{ "@type": "RawBodyParser" }
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"comment": "Handles body parsing for PATCH requests. Those requests need to generate an interpreted Patch body.",
|
||||
"@id": "urn:solid-server:default:PatchBodyParser",
|
||||
"@type": "MethodFilterHandler",
|
||||
"methods": [ "PATCH" ],
|
||||
"source": {
|
||||
"@type": "WaterfallHandler",
|
||||
"handlers": [
|
||||
{ "@type": "N3PatchBodyParser" },
|
||||
{ "@type": "SparqlUpdateBodyParser" }
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Writes the result to the response stream.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/ldp/handler/components/authorizer.json",
|
||||
"files-scs:config/ldp/handler/components/error-handler.json",
|
||||
|
@ -1,7 +1,8 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/ldp/metadata-parser/parsers/content-type.json",
|
||||
"files-scs:config/ldp/metadata-parser/parsers/content-length.json",
|
||||
"files-scs:config/ldp/metadata-parser/parsers/slug.json",
|
||||
"files-scs:config/ldp/metadata-parser/parsers/link.json"
|
||||
],
|
||||
@ -12,6 +13,7 @@
|
||||
"@type": "ParallelHandler",
|
||||
"handlers": [
|
||||
{ "@id": "urn:solid-server:default:ContentTypeParser" },
|
||||
{ "@id": "urn:solid-server:default:ContentLengthParser" },
|
||||
{ "@id": "urn:solid-server:default:SlugParser" },
|
||||
{ "@id": "urn:solid-server:default:LinkRelParser" }
|
||||
]
|
||||
|
10
config/ldp/metadata-parser/parsers/content-length.json
Normal file
10
config/ldp/metadata-parser/parsers/content-length.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Converts content-length headers into RDF metadata.",
|
||||
"@id": "urn:solid-server:default:ContentLengthParser",
|
||||
"@type": "ContentLengthParser"
|
||||
}
|
||||
]
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Converts content-type headers into RDF metadata.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Converts link headers into RDF metadata.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Converts slug headers into RDF metadata.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"import": [
|
||||
"files-scs:config/ldp/metadata-writer/writers/constant.json",
|
||||
"files-scs:config/ldp/metadata-writer/writers/link-rel.json",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Adds fixed headers to the response.",
|
||||
@ -8,7 +8,7 @@
|
||||
"headers": [
|
||||
{
|
||||
"ConstantMetadataWriter:_headers_key": "Accept-Patch",
|
||||
"ConstantMetadataWriter:_headers_value": "application/sparql-update"
|
||||
"ConstantMetadataWriter:_headers_value": "application/sparql-update, text/n3"
|
||||
},
|
||||
{
|
||||
"ConstantMetadataWriter:_headers_key": "Allow",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Converts all triples with the given predicates to Link headers.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Converts all triples with the given predicate to headers of the given type.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Adds the Last-Modified and ETag headers.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Adds the correct Wac-Allow header.",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Adds the WWW-Authenticate header on 401 responses. The current auth value is required for the legacy solid-auth-client.",
|
||||
|
@ -1,14 +1,40 @@
|
||||
{
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^2.0.0/components/context.jsonld",
|
||||
"@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^3.0.0/components/context.jsonld",
|
||||
"@graph": [
|
||||
{
|
||||
"comment": "Determines required modes based on HTTP methods.",
|
||||
"@id": "urn:solid-server:default:ModesExtractor",
|
||||
"@type": "WaterfallHandler",
|
||||
"handlers": [
|
||||
{ "@type": "MethodModesExtractor" },
|
||||
{ "@type": "SparqlPatchModesExtractor" }
|
||||
{
|
||||
"comment": "Extract access modes for PATCH requests based on the request body.",
|
||||
"@id": "urn:solid-server:default:PatchModesExtractor"
|
||||
},
|
||||
{
|
||||
"comment": "Extract access modes based on the HTTP method.",
|
||||
"@type": "MethodModesExtractor"
|
||||
},
|
||||
{
|
||||
"@type": "StaticThrowHandler",
|
||||
"error": { "@type": "MethodNotAllowedHttpError" }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"@id": "urn:solid-server:default:PatchModesExtractor",
|
||||
"@type": "MethodFilterHandler",
|
||||
"methods": [ "PATCH" ],
|
||||
"source": {
|
||||
"@type": "WaterfallHandler",
|
||||
"handlers": [
|
||||
{ "@type": "N3PatchModesExtractor" },
|
||||
{ "@type": "SparqlUpdateModesExtractor" },
|
||||
{
|
||||
"@type": "StaticThrowHandler",
|
||||
"error": { "@type": "UnsupportedMediaTypeHttpError" }
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user