Merge branch 'versions/3.0.0'

This commit is contained in:
Joachim Van Herwegen 2022-02-23 11:28:44 +01:00
commit 5d1645aff2
376 changed files with 9277 additions and 3697 deletions

View File

@ -1,6 +1,47 @@
# Changelog # Changelog
All notable changes to this project will be documented in this file. 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> <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 ## [v2.0.1](https://github.com/solid/community-server/compare/v2.0.0...v2.0.1) - 2021-11-02

View File

@ -1,6 +1,6 @@
MIT License MIT License
Copyright © 20192021 Inrupt Inc. and imec Copyright © 20192022 Inrupt Inc. and imec
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,48 @@
# Community Solid Server release notes # 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 ## v2.0.0
### New features ### New features
- Pod owners always have Control access to resources stored in their Pod. - Pod owners always have Control access to resources stored in their Pod.

View File

@ -1,4 +1,3 @@
#!/usr/bin/env node #!/usr/bin/env node
// eslint-disable-next-line @typescript-eslint/naming-convention
const { AppRunner } = require('..'); const { AppRunner } = require('..');
new AppRunner().runCli(process); new AppRunner().runCliSync(process);

View File

@ -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. * *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. 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. * *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`

View File

@ -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": [ "import": [
"files-scs:config/app/init/initializers/base-url.json",
"files-scs:config/app/init/initializers/logger.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": [ "@graph": [
{ {
@ -11,8 +13,10 @@
"@type": "SequenceHandler", "@type": "SequenceHandler",
"handlers": [ "handlers": [
{ "@id": "urn:solid-server:default:LoggerInitializer" }, { "@id": "urn:solid-server:default:LoggerInitializer" },
{ "@id": "urn:solid-server:default:BaseUrlVerifier" },
{ "@id": "urn:solid-server:default:ParallelInitializer" }, { "@id": "urn:solid-server:default:ParallelInitializer" },
{ "@id": "urn:solid-server:default:ServerInitializer" } { "@id": "urn:solid-server:default:ServerInitializer" },
{ "@id": "urn:solid-server:default:ModuleVersionVerifier" }
] ]
} }
] ]

View File

@ -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": [ "import": [
"files-scs:config/app/init/base/init.json" "files-scs:config/app/init/base/init.json"
], ],

View File

@ -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": [ "import": [
"files-scs:config/app/init/base/init.json", "files-scs:config/app/init/base/init.json",
"files-scs:config/app/init/initializers/prefilled-root.json" "files-scs:config/app/init/initializers/prefilled-root.json"

View File

@ -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": [ "import": [
"files-scs:config/app/init/base/init.json", "files-scs:config/app/init/base/init.json",
"files-scs:config/app/init/initializers/root.json" "files-scs:config/app/init/initializers/root.json"

View 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" }
}
]
}

View File

@ -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": [ "@graph": [
{ {
"comment": [ "comment": [

View File

@ -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": [ "@graph": [
{ {
"comment": "Makes sure the root container exists and contains the necessary resources.", "comment": "Makes sure the root container exists and contains the necessary resources.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Makes sure the root container exists and contains the necessary resources.", "comment": "Makes sure the root container exists and contains the necessary resources.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Creates the server that starts listening for requests.", "comment": "Creates the server that starts listening for requests.",

View 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" }
}
]
}

View File

@ -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": [ "@graph": [
{ {
"comment": "This is the entry point to the application. It can be used to both start and stop the server.", "comment": "This is the entry point to the application. It can be used to both start and stop the server.",

View File

@ -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": [ "import": [
"files-scs:config/app/init/initializers/root.json" "files-scs:config/app/init/initializers/root.json"
], ],

View File

@ -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": [ "@graph": [
{ {
"comment": "Redirects all request to the setup.", "comment": "Redirects all request to the setup.",

View File

@ -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": [ "import": [
"files-scs:config/app/init/initializers/root.json" "files-scs:config/app/init/initializers/root.json"
], ],
@ -14,14 +14,31 @@
"args_responseWriter": { "@id": "urn:solid-server:default:ResponseWriter" }, "args_responseWriter": { "@id": "urn:solid-server:default:ResponseWriter" },
"args_operationHandler": { "args_operationHandler": {
"@type": "SetupHttpHandler", "@type": "SetupHttpHandler",
"args_initializer": { "@id": "urn:solid-server:default:RootInitializer" }, "args_handler": {
"args_registrationManager": { "@id": "urn:solid-server:default:SetupRegistrationManager" }, "@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_converter": { "@id": "urn:solid-server:default:RepresentationConverter" },
"args_storageKey": "setupCompleted-2.0", "args_storageKey": "setupCompleted-2.0",
"args_storage": { "@id": "urn:solid-server:default:SetupStorage" }, "args_storage": { "@id": "urn:solid-server:default:SetupStorage" },
"args_viewTemplate": "@css:templates/setup/index.html.ejs", "args_templateEngine": {
"args_responseTemplate": "@css:templates/setup/response.html.ejs", "comment": "Renders the specific page and embeds it into the main HTML body.",
"args_errorHandler": { "@id": "urn:solid-server:default:ErrorHandler" } "@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"
}
]
}
} }
}, },
{ {

View File

@ -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": [ "import": [
"files-scs:config/app/setup/handlers/setup.json" "files-scs:config/app/setup/handlers/setup.json"
], ],

View File

@ -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": [ "import": [
"files-scs:config/app/setup/handlers/redirect.json", "files-scs:config/app/setup/handlers/redirect.json",
"files-scs:config/app/setup/handlers/setup.json" "files-scs:config/app/setup/handlers/setup.json"

View 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]"
}
}
]
}

View 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" }
}
]
}

View 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"
}
}
]
}
]
}

View File

@ -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": [ "import": [
"files-scs:config/app/main/default.json", "files-scs:config/app/main/default.json",
"files-scs:config/app/init/initialize-prefilled-root.json", "files-scs:config/app/init/initialize-prefilled-root.json",
"files-scs:config/app/setup/optional.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/handler/default.json",
"files-scs:config/http/middleware/websockets.json", "files-scs:config/http/middleware/websockets.json",
"files-scs:config/http/server-factory/websockets.json", "files-scs:config/http/server-factory/websockets.json",

View File

@ -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": [ "import": [
"files-scs:config/app/main/default.json", "files-scs:config/app/main/default.json",
"files-scs:config/app/init/default.json", "files-scs:config/app/init/default.json",
"files-scs:config/app/setup/required.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/handler/default.json",
"files-scs:config/http/middleware/websockets.json", "files-scs:config/http/middleware/websockets.json",
"files-scs:config/http/server-factory/websockets.json", "files-scs:config/http/server-factory/websockets.json",

View File

@ -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": [ "import": [
"files-scs:config/app/main/default.json", "files-scs:config/app/main/default.json",
"files-scs:config/app/init/default.json", "files-scs:config/app/init/default.json",
"files-scs:config/app/setup/required.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/handler/default.json",
"files-scs:config/http/middleware/websockets.json", "files-scs:config/http/middleware/websockets.json",

View File

@ -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": [ "import": [
"files-scs:config/app/main/default.json", "files-scs:config/app/main/default.json",
"files-scs:config/app/init/initialize-root.json", "files-scs:config/app/init/initialize-root.json",
"files-scs:config/app/setup/disabled.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/handler/default.json",
"files-scs:config/http/middleware/websockets.json", "files-scs:config/http/middleware/websockets.json",
"files-scs:config/http/server-factory/websockets.json", "files-scs:config/http/server-factory/websockets.json",

View File

@ -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": [ "import": [
"files-scs:config/app/main/default.json", "files-scs:config/app/main/default.json",
"files-scs:config/app/init/default.json", "files-scs:config/app/init/default.json",
"files-scs:config/app/setup/required.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/handler/default.json",
"files-scs:config/http/middleware/websockets.json", "files-scs:config/http/middleware/websockets.json",
"files-scs:config/http/server-factory/websockets.json", "files-scs:config/http/server-factory/websockets.json",

View File

@ -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": [ "import": [
"files-scs:config/app/init/initializers/root.json" "files-scs:config/http/handler/handlers/oidc.json"
], ],
"@graph": [ "@graph": [
{ {
@ -15,6 +15,7 @@
"handlers": [ "handlers": [
{ "@id": "urn:solid-server:default:StaticAssetHandler" }, { "@id": "urn:solid-server:default:StaticAssetHandler" },
{ "@id": "urn:solid-server:default:SetupHandler" }, { "@id": "urn:solid-server:default:SetupHandler" },
{ "@id": "urn:solid-server:default:OidcHandler" },
{ "@id": "urn:solid-server:default:AuthResourceHttpHandler" }, { "@id": "urn:solid-server:default:AuthResourceHttpHandler" },
{ "@id": "urn:solid-server:default:IdentityProviderHandler" }, { "@id": "urn:solid-server:default:IdentityProviderHandler" },
{ "@id": "urn:solid-server:default:LdpHandler" } { "@id": "urn:solid-server:default:LdpHandler" }

View 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" }
}
}
]
}

View File

@ -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": [ "@graph": [
{ {
"comment": "This version of the server has no IDP or pod provisioning.", "comment": "This version of the server has no IDP or pod provisioning.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Adds several constant headers.", "comment": "Adds several constant headers.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Adds all the necessary CORS headers.", "comment": "Adds all the necessary CORS headers.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Advertises the websocket connection.", "comment": "Advertises the websocket connection.",

View File

@ -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": [ "import": [
"files-scs:config/http/middleware/handlers/constant-headers.json", "files-scs:config/http/middleware/handlers/constant-headers.json",
"files-scs:config/http/middleware/handlers/cors.json" "files-scs:config/http/middleware/handlers/cors.json"

View File

@ -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": [ "import": [
"files-scs:config/http/middleware/handlers/constant-headers.json", "files-scs:config/http/middleware/handlers/constant-headers.json",
"files-scs:config/http/middleware/handlers/cors.json", "files-scs:config/http/middleware/handlers/cors.json",

View File

@ -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": [ "@graph": [
{ {
"comment": "An example of how to set up a server with HTTPS", "comment": "An example of how to set up a server with HTTPS",

View File

@ -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": [ "@graph": [
{ {
"comment": "Creates a server that supports HTTP requests.", "comment": "Creates a server that supports HTTP requests.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Creates a server that supports both websocket and HTTP requests.", "comment": "Creates a server that supports both websocket and HTTP requests.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Servers static files on fixed URLs.", "comment": "Servers static files on fixed URLs.",
@ -12,17 +12,22 @@
"StaticAssetHandler:_assets_value": "@css:templates/images/favicon.ico" "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_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_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_value": "@css:templates/images/"
},
{
"StaticAssetHandler:_assets_key": "/.well-known/css/scripts/",
"StaticAssetHandler:_assets_value": "@css:templates/scripts/"
} }
] ]
} }
] ]

View File

@ -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": [ "@graph": [
{ {
"comment": "Makes sure the IDP container has the necessary root resources.", "comment": "Makes sure the IDP container has the necessary root resources.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Makes sure the .well-known container has the necessary root resources. Some IDP resources are stored there due to OIDC requirements.", "comment": "Makes sure the .well-known container has the necessary root resources. Some IDP resources are stored there due to OIDC requirements.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Allow everyone to register new pods.", "comment": "Allow everyone to register new pods.",

View File

@ -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": [ "import": [
"files-scs:config/identity/access/initializers/idp.json", "files-scs:config/identity/access/initializers/idp.json",
"files-scs:config/identity/access/initializers/well-known.json" "files-scs:config/identity/access/initializers/well-known.json"

View File

@ -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": [ "@graph": [
{ {
"comment": "The default configuration does not contain credentials for an email client. In production systems, you likely want to set up your own.", "comment": "The default configuration does not contain credentials for an email client. In production systems, you likely want to set up your own.",

View File

@ -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": [ "@graph": [
{ {
"comment": "This is an example of what an actual email sender configuration would look like.", "comment": "This is an example of what an actual email sender configuration would look like.",

View File

@ -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": [ "@graph": [
{ {
"comment": "The storage adapter that persists usernames, passwords, etc.", "comment": "The storage adapter that persists usernames, passwords, etc.",
@ -8,7 +8,21 @@
"saltRounds": 10, "saltRounds": 10,
"storage": { "storage": {
"@id": "urn:solid-server:default:AccountStorage" "@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" } ]
} }
] ]
} }

View File

@ -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": [ "@graph": [
{ {
"comment": "An adapter is responsible for storing all interaction metadata.", "comment": "An adapter is responsible for storing all interaction metadata.",

View File

@ -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": [ "import": [
"files-scs:config/identity/handler/account-store/default.json", "files-scs:config/identity/handler/account-store/default.json",
"files-scs:config/identity/handler/adapter-factory/webid.json", "files-scs:config/identity/handler/adapter-factory/webid.json",
@ -14,7 +14,7 @@
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" }, "args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"args_targetExtractor": { "@id": "urn:solid-server:default:TargetExtractor" }, "args_targetExtractor": { "@id": "urn:solid-server:default:TargetExtractor" },
"args_allowedMethods": [ "*" ], "args_allowedMethods": [ "*" ],
"args_allowedPathNames": [ "^/idp/.*", "^/\\.well-known/openid-configuration" ], "args_allowedPathNames": [ "^/idp/.*" ],
"args_handler": { "@id": "urn:solid-server:default:IdentityProviderParsingHandler" } "args_handler": { "@id": "urn:solid-server:default:IdentityProviderParsingHandler" }
}, },
{ {
@ -39,16 +39,9 @@
"comment": "Handles IDP handler behaviour.", "comment": "Handles IDP handler behaviour.",
"@id": "urn:solid-server:default:IdentityProviderHttpHandler", "@id": "urn:solid-server:default:IdentityProviderHttpHandler",
"@type": "IdentityProviderHttpHandler", "@type": "IdentityProviderHttpHandler",
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"args_idpPath": "/idp",
"args_providerFactory": { "@id": "urn:solid-server:default:IdentityProviderFactory" }, "args_providerFactory": { "@id": "urn:solid-server:default:IdentityProviderFactory" },
"args_converter": { "@id": "urn:solid-server:default:RepresentationConverter" }, "args_converter": { "@id": "urn:solid-server:default:RepresentationConverter" },
"args_interactionCompleter": { "args_handler": { "@id": "urn:solid-server:default:InteractionHandler" }
"comment": "Responsible for finishing OIDC interactions.",
"@type": "InteractionCompleter",
"providerFactory": { "@id": "urn:solid-server:default:IdentityProviderFactory" }
},
"args_errorHandler": { "@id": "urn:solid-server:default:ErrorHandler" }
} }
] ]
} }

View File

@ -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": [ "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/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/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/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": [ "@graph": [
{ {
"@id": "urn:solid-server:default:IdentityProviderHttpHandler", "@id": "urn:solid-server:default:InteractionHandler",
"IdentityProviderHttpHandler:_args_interactionRoutes": [ "@type": "WaterfallHandler",
{ "@id": "urn:solid-server:auth:password:ForgotPasswordRoute" }, "handlers": [
{ "@id": "urn:solid-server:auth:password:LoginRoute" }, {
{ "@id": "urn:solid-server:auth:password:ResetPasswordRoute" }, "comment": "Returns the relevant HTML pages for the interactions when needed",
{ "@id": "urn:solid-server:auth:password:SessionRoute" } "@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" }
] ]
} }
] ]

View 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" }
}
}
]
}

View File

@ -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": [ "@graph": [
{ {
"comment": "Handles all functionality on the forgot password page", "comment": "Handles the forgot password interaction",
"@id": "urn:solid-server:auth:password:ForgotPasswordRoute", "@id": "urn:solid-server:auth:password:ForgotPasswordRouteHandler",
"@type": "BasicInteractionRoute", "@type":"InteractionRouteHandler",
"route": "^/forgotpassword/$", "route": {
"viewTemplates": { "@id": "urn:solid-server:auth:password:ForgotPasswordRoute",
"BasicInteractionRoute:_viewTemplates_key": "text/html", "@type": "RelativePathInteractionRoute",
"BasicInteractionRoute:_viewTemplates_value": "@css:templates/identity/email-password/forgot-password.html.ejs" "base": { "@id": "urn:solid-server:auth:password:IndexRoute" },
"relativePath": "/forgotpassword/"
}, },
"responseTemplates": { "source": {
"BasicInteractionRoute:_responseTemplates_key": "text/html", "@id": "urn:solid-server:auth:password:ForgotPasswordHandler",
"BasicInteractionRoute:_responseTemplates_value": "@css:templates/identity/email-password/forgot-password-response.html.ejs"
},
"controls": {
"BasicInteractionRoute:_controls_key": "forgotPassword",
"BasicInteractionRoute:_controls_value": "/forgotpassword/"
},
"handler": {
"@type": "ForgotPasswordHandler", "@type": "ForgotPasswordHandler",
"args_accountStore": { "@id": "urn:solid-server:auth:password:AccountStore" }, "args_accountStore": { "@id": "urn:solid-server:auth:password:AccountStore" },
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" },
"args_idpPath": "/idp",
"args_templateEngine": { "args_templateEngine": {
"@type": "EjsTemplateEngine", "@type": "EjsTemplateEngine",
"template": "@css:templates/identity/email-password/reset-password-email.html.ejs" "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" }
} }
} }
] ]

View 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": {}
}
}
]
}

View File

@ -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": [ "@graph": [
{ {
"comment": "Handles all functionality on the Login Page", "comment": "Handles the login interaction",
"@id": "urn:solid-server:auth:password:LoginRoute", "@id": "urn:solid-server:auth:password:LoginRouteHandler",
"@type": "BasicInteractionRoute", "@type": "InteractionRouteHandler",
"route": "^/login/$", "route": {
"prompt": "login", "@id": "urn:solid-server:auth:password:LoginRoute",
"viewTemplates": { "@type": "RelativePathInteractionRoute",
"BasicInteractionRoute:_viewTemplates_key": "text/html", "base": { "@id": "urn:solid-server:auth:password:IndexRoute" },
"BasicInteractionRoute:_viewTemplates_value": "@css:templates/identity/email-password/login.html.ejs" "relativePath": "/login/"
}, },
"controls": { "source": {
"BasicInteractionRoute:_controls_key": "login", "@id": "urn:solid-server:auth:password:LoginHandler",
"BasicInteractionRoute:_controls_value": "/login/"
},
"handler": {
"@type": "LoginHandler", "@type": "LoginHandler",
"accountStore": { "@id": "urn:solid-server:auth:password:AccountStore" } "accountStore": { "@id": "urn:solid-server:auth:password:AccountStore" }
} }

View 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" }
}
]
}
}
]
}

View File

@ -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",
"comment": "Exports 2 handlers: one for viewing the page and one for doing the reset.",
"@graph": [ "@graph": [
{ {
"comment": "Handles the reset password page submission", "comment": "Handles the reset password interaction",
"@id": "urn:solid-server:auth:password:ResetPasswordRoute", "@id": "urn:solid-server:auth:password:ResetPasswordRouteHandler",
"@type": "BasicInteractionRoute", "@type": "InteractionRouteHandler",
"route": "^/resetpassword/[^/]*$", "route": {
"viewTemplates": { "@id": "urn:solid-server:auth:password:ResetPasswordRoute",
"BasicInteractionRoute:_viewTemplates_key": "text/html", "@type": "RelativePathInteractionRoute",
"BasicInteractionRoute:_viewTemplates_value": "@css:templates/identity/email-password/reset-password.html.ejs" "base": { "@id": "urn:solid-server:auth:password:IndexRoute" },
"relativePath": "/resetpassword/"
}, },
"responseTemplates": { "source": {
"BasicInteractionRoute:_responseTemplates_key": "text/html", "@id": "urn:solid-server:auth:password:ResetPasswordHandler",
"BasicInteractionRoute:_responseTemplates_value": "@css:templates/identity/email-password/reset-password-response.html.ejs"
},
"handler": {
"@type": "ResetPasswordHandler", "@type": "ResetPasswordHandler",
"accountStore": { "@id": "urn:solid-server:auth:password:AccountStore" } "accountStore": { "@id": "urn:solid-server:auth:password:AccountStore" }
} }

View File

@ -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" }
}
]
}

View 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" }
}
]
}
]
}

View 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" }
}
]
}
]
}

View File

@ -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": [ "@graph": [
{ {
"comment": [ "comment": [
"Sets all the relevant oidc parameters.", "Sets all the relevant Solid-OIDC parameters.",
"webid claim is in openid scope until an official scope has been decided: https://github.com/solid/authentication-panel/issues/86" "dPoP is draft-01 since that is the latest version v6 of the OIDC library supports."
], ],
"@id": "urn:solid-server:default:IdentityProviderFactory", "@id": "urn:solid-server:default:IdentityProviderFactory",
"@type": "IdentityProviderFactory", "@type": "IdentityProviderFactory",
"args_adapterFactory": { "@id": "urn:solid-server:default:IdpAdapterFactory" }, "args_adapterFactory": { "@id": "urn:solid-server:default:IdpAdapterFactory" },
"args_baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" }, "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_storage": { "@id": "urn:solid-server:default:IdpKeyStorage" },
"args_errorHandler": { "@id": "urn:solid-server:default:ErrorHandler" }, "args_errorHandler": { "@id": "urn:solid-server:default:ErrorHandler" },
"args_responseWriter": { "@id": "urn:solid-server:default:ResponseWriter" }, "args_responseWriter": { "@id": "urn:solid-server:default:ResponseWriter" },
"config": { "config": {
"claims": { "claims": {
"openid": [ "webid", "client_id" ] "openid": [ "azp" ],
"webid": [ "webid" ]
}, },
"cookies": { "cookies": {
"long": { "signed": true, "maxAge": 86400000 }, "long": { "signed": true, "maxAge": 86400000 },
"short": { "signed": true } "short": { "signed": true }
}, },
"discovery": {
"solid_oidc_supported": "https://solidproject.org/TR/solid-oidc"
},
"features": { "features": {
"claimsParameter": { "enabled": true }, "claimsParameter": { "enabled": true },
"devInteractions": { "enabled": false }, "devInteractions": { "enabled": false },
"dPoP": { "enabled": true, "ack": "draft-01" }, "dPoP": { "enabled": true, "ack": "draft-03" },
"introspection": { "enabled": true }, "introspection": { "enabled": true },
"registration": { "enabled": true }, "registration": { "enabled": true },
"revocation": { "enabled": true } "revocation": { "enabled": true },
"userinfo": { "enabled": false }
}, },
"formats": { "scopes": [ "openid", "profile", "offline_access", "webid" ],
"AccessToken": "jwt" "subjectTypes": [ "public" ],
},
"scopes": [ "openid", "profile", "offline_access" ],
"subjectTypes": [ "public", "pairwise" ],
"ttl": { "ttl": {
"AccessToken": 3600, "AccessToken": 3600,
"AuthorizationCode": 600, "AuthorizationCode": 600,
"BackchannelAuthenticationRequest": 600,
"DeviceCode": 600, "DeviceCode": 600,
"Grant": 1209600,
"IdToken": 3600, "IdToken": 3600,
"RefreshToken": 86400 "Interaction": 3600,
"RefreshToken": 86400,
"Session": 1209600
} }
} }
} }

View File

@ -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": [ "@graph": [
{ {
"comment": "Determines WebID ownership by requesting a specific value to be added to the WebID document", "comment": "Determines WebID ownership by requesting a specific value to be added to the WebID document",
"@id": "urn:solid-server:auth:password:OwnershipValidator", "@id": "urn:solid-server:auth:password:OwnershipValidator",
"@type": "TokenOwnershipValidator", "@type": "TokenOwnershipValidator",
"converter": { "@id": "urn:solid-server:default:RepresentationConverter" },
"storage": { "@id": "urn:solid-server:default:ExpiringTokenStorage" } "storage": { "@id": "urn:solid-server:default:ExpiringTokenStorage" }
}, },

View File

@ -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": [ "@graph": [
{ {
"comment": [ "comment": [

View File

@ -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": [ "import": [
"files-scs:config/identity/pod/pod-generators/templated.json", "files-scs:config/identity/pod/pod-generators/templated.json",
"files-scs:config/identity/pod/resource-generators/templated.json" "files-scs:config/identity/pod/resource-generators/templated.json"

View File

@ -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": [ "@graph": [
{ {
"comment": "Generates ResourceStores that correspond to new pods.", "comment": "Generates ResourceStores that correspond to new pods.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Generates resources based on the templates stored in the template folder.", "comment": "Generates resources based on the templates stored in the template folder.",

View File

@ -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": [ "import": [
"files-scs:config/identity/pod/resource-generators/templated.json" "files-scs:config/identity/pod/resource-generators/templated.json"
], ],

View File

@ -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": [ "@graph": [
{ {
"comment": "Disable registration by not attaching a registration handler." "comment": "Disable registration by not attaching a registration handler."

View File

@ -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": [ "import": [
"files-scs:config/identity/registration/route/registration.json" "files-scs:config/identity/registration/route/registration.json"
], ],
"@graph": [ "@graph": [
{ {
"comment": "Enable registration by adding a registration handler to the list of interaction routes.", "@id": "urn:solid-server:auth:password:InteractionRouteHandler",
"@id": "urn:solid-server:default:IdentityProviderHttpHandler", "WaterfallHandler:_handlers": [
"IdentityProviderHttpHandler:_args_interactionRoutes": [ {
{ "@id": "urn:solid-server:auth:password:RegistrationRoute" } "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" }
}
] ]
} }
] ]

View File

@ -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": [ "@graph": [
{ {
"comment": "Handles all functionality on the register page", "comment": "Handles the register interaction",
"@id": "urn:solid-server:auth:password:RegistrationRoute", "@id": "urn:solid-server:auth:password:RegistrationRouteHandler",
"@type": "BasicInteractionRoute", "@type": "InteractionRouteHandler",
"route": "^/register/$", "route": {
"viewTemplates": { "@id": "urn:solid-server:auth:password:RegistrationRoute",
"BasicInteractionRoute:_viewTemplates_key": "text/html", "@type": "RelativePathInteractionRoute",
"BasicInteractionRoute:_viewTemplates_value": "@css:templates/identity/email-password/register.html.ejs" "base": { "@id": "urn:solid-server:auth:password:IndexRoute" },
"relativePath": "/register/"
}, },
"responseTemplates": { "source": {
"BasicInteractionRoute:_responseTemplates_key": "text/html", "@id": "urn:solid-server:auth:password:RegistrationHandler",
"BasicInteractionRoute:_responseTemplates_value": "@css:templates/identity/email-password/register-response.html.ejs"
},
"controls": {
"BasicInteractionRoute:_controls_key": "register",
"BasicInteractionRoute:_controls_value": "/register/"
},
"handler": {
"@type": "RegistrationHandler", "@type": "RegistrationHandler",
"registrationManager": { "registrationManager": {
"@type": "RegistrationManager", "@type": "RegistrationManager",

View File

@ -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": [ "@graph": [
{ {
"comment": [ "comment": [

View File

@ -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": [ "@graph": [
{ {
"comment": [ "comment": [

View File

@ -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": [ "@graph": [
{ {
"comment": "Supports DPoP and Bearer access tokens, or no credentials.", "comment": "Supports DPoP and Bearer access tokens, or no credentials.",

View File

@ -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": [ "@graph": [
{ {
"comment": [ "comment": [

View File

@ -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": [ "@graph": [
{ {
"comment": "Checks access based on the agent being authenticated or not.", "comment": "Checks access based on the agent being authenticated or not.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Checks if the agent belongs to a group that has access.", "comment": "Checks if the agent belongs to a group that has access.",
"@id": "urn:solid-server:default:AgentGroupAccessChecker", "@id": "urn:solid-server:default:AgentGroupAccessChecker",
"@type": "AgentGroupAccessChecker", "@type": "AgentGroupAccessChecker",
"converter": { "@id": "urn:solid-server:default:RepresentationConverter" },
"cache": { "cache": {
"@id": "urn:solid-server:default:ExpiringAclCache", "@id": "urn:solid-server:default:ExpiringAclCache",
"@type": "WrappedExpiringStorage", "@type": "WrappedExpiringStorage",

View File

@ -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": [ "@graph": [
{ {
"comment": "Checks if a specific WebID has access.", "comment": "Checks if a specific WebID has access.",

View File

@ -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": [ "import": [
"files-scs:config/ldp/authorization/readers/access-checkers/agent.json", "files-scs:config/ldp/authorization/readers/access-checkers/agent.json",
"files-scs:config/ldp/authorization/readers/access-checkers/agent-class.json", "files-scs:config/ldp/authorization/readers/access-checkers/agent-class.json",

View File

@ -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": [ "@graph": [
{ {
"comment": "Allows pod owners to always edit permissions on the data.", "comment": "Allows pod owners to always edit permissions on the data.",

View File

@ -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": [ "import": [
"files-scs:config/ldp/authorization/readers/acl.json", "files-scs:config/ldp/authorization/readers/acl.json",
"files-scs:config/ldp/authorization/readers/ownership.json" "files-scs:config/ldp/authorization/readers/ownership.json"

View File

@ -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": [ "@graph": [
{ {
"comment": "Matches requested permissions with those available.", "comment": "Matches requested permissions with those available.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Wraps around the main error handler as a fallback in case something goes wrong.", "comment": "Wraps around the main error handler as a fallback in case something goes wrong.",
@ -7,10 +7,19 @@
"@type": "SafeErrorHandler", "@type": "SafeErrorHandler",
"showStackTrace": { "@id": "urn:solid-server:default:variable:showStackTrace" }, "showStackTrace": { "@id": "urn:solid-server:default:variable:showStackTrace" },
"errorHandler": { "errorHandler": {
"comment": "Changes an error into a valid representation to send as a response.", "@type": "WaterfallHandler",
"@type": "ConvertingErrorHandler", "handlers": [
"converter": { "@id": "urn:solid-server:default:UiEnabledConverter" }, {
"showStackTrace": { "@id": "urn:solid-server:default:variable:showStackTrace" } "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" }
}
]
} }
} }
] ]

View File

@ -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": [ "@graph": [
{ {
"@id": "urn:solid-server:default:OperationHandler", "@id": "urn:solid-server:default:OperationHandler",
@ -28,6 +28,10 @@
{ {
"@type": "PatchOperationHandler", "@type": "PatchOperationHandler",
"store": { "@id": "urn:solid-server:default:ResourceStore" } "store": { "@id": "urn:solid-server:default:ResourceStore" }
},
{
"@type": "StaticThrowHandler",
"error": { "@type": "MethodNotAllowedHttpError" }
} }
] ]
} }

View File

@ -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": [ "@graph": [
{ {
"@id": "urn:solid-server:default:OperationMetadataCollector", "@id": "urn:solid-server:default:OperationMetadataCollector",

View File

@ -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": [ "@graph": [
{ {
"comment": "Handles everything related to parsing a Request.", "comment": "Handles everything related to parsing a Request.",
@ -16,10 +16,23 @@
"args_bodyParser": { "args_bodyParser": {
"@type": "WaterfallHandler", "@type": "WaterfallHandler",
"handlers": [ "handlers": [
{ "@type": "SparqlUpdateBodyParser" }, { "@id": "urn:solid-server:default:PatchBodyParser" },
{ "@type": "RawBodyParser" } { "@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" }
]
}
} }
] ]
} }

View File

@ -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": [ "@graph": [
{ {
"comment": "Writes the result to the response stream.", "comment": "Writes the result to the response stream.",

View File

@ -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": [ "import": [
"files-scs:config/ldp/handler/components/authorizer.json", "files-scs:config/ldp/handler/components/authorizer.json",
"files-scs:config/ldp/handler/components/error-handler.json", "files-scs:config/ldp/handler/components/error-handler.json",

View File

@ -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": [ "import": [
"files-scs:config/ldp/metadata-parser/parsers/content-type.json", "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/slug.json",
"files-scs:config/ldp/metadata-parser/parsers/link.json" "files-scs:config/ldp/metadata-parser/parsers/link.json"
], ],
@ -12,6 +13,7 @@
"@type": "ParallelHandler", "@type": "ParallelHandler",
"handlers": [ "handlers": [
{ "@id": "urn:solid-server:default:ContentTypeParser" }, { "@id": "urn:solid-server:default:ContentTypeParser" },
{ "@id": "urn:solid-server:default:ContentLengthParser" },
{ "@id": "urn:solid-server:default:SlugParser" }, { "@id": "urn:solid-server:default:SlugParser" },
{ "@id": "urn:solid-server:default:LinkRelParser" } { "@id": "urn:solid-server:default:LinkRelParser" }
] ]

View 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"
}
]
}

View File

@ -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": [ "@graph": [
{ {
"comment": "Converts content-type headers into RDF metadata.", "comment": "Converts content-type headers into RDF metadata.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Converts link headers into RDF metadata.", "comment": "Converts link headers into RDF metadata.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Converts slug headers into RDF metadata.", "comment": "Converts slug headers into RDF metadata.",

View File

@ -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": [ "import": [
"files-scs:config/ldp/metadata-writer/writers/constant.json", "files-scs:config/ldp/metadata-writer/writers/constant.json",
"files-scs:config/ldp/metadata-writer/writers/link-rel.json", "files-scs:config/ldp/metadata-writer/writers/link-rel.json",

View File

@ -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": [ "@graph": [
{ {
"comment": "Adds fixed headers to the response.", "comment": "Adds fixed headers to the response.",
@ -8,7 +8,7 @@
"headers": [ "headers": [
{ {
"ConstantMetadataWriter:_headers_key": "Accept-Patch", "ConstantMetadataWriter:_headers_key": "Accept-Patch",
"ConstantMetadataWriter:_headers_value": "application/sparql-update" "ConstantMetadataWriter:_headers_value": "application/sparql-update, text/n3"
}, },
{ {
"ConstantMetadataWriter:_headers_key": "Allow", "ConstantMetadataWriter:_headers_key": "Allow",

View File

@ -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": [ "@graph": [
{ {
"comment": "Converts all triples with the given predicates to Link headers.", "comment": "Converts all triples with the given predicates to Link headers.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Converts all triples with the given predicate to headers of the given type.", "comment": "Converts all triples with the given predicate to headers of the given type.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Adds the Last-Modified and ETag headers.", "comment": "Adds the Last-Modified and ETag headers.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Adds the correct Wac-Allow header.", "comment": "Adds the correct Wac-Allow header.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Adds the WWW-Authenticate header on 401 responses. The current auth value is required for the legacy solid-auth-client.", "comment": "Adds the WWW-Authenticate header on 401 responses. The current auth value is required for the legacy solid-auth-client.",

View File

@ -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": [ "@graph": [
{ {
"comment": "Determines required modes based on HTTP methods.", "comment": "Determines required modes based on HTTP methods.",
"@id": "urn:solid-server:default:ModesExtractor", "@id": "urn:solid-server:default:ModesExtractor",
"@type": "WaterfallHandler", "@type": "WaterfallHandler",
"handlers": [ "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