300 Commits

Author SHA1 Message Date
Renovate Bot
7928f43f44 fix(deps): update dependency @solid/access-token-verifier to ^0.12.0 2021-09-03 08:38:57 +02:00
Renovate Bot
042507a677 fix(deps): update dependency marked to v3 2021-08-27 17:30:11 +02:00
Renovate Bot
1173f98b5d chore(deps): update dependency @types/jest to v27 2021-08-16 11:28:11 +02:00
Ruben Verborgh
ce27b55bb8 Release version 1.0.0 of the npm package. 2021-08-04 17:15:36 +02:00
Ruben Verborgh
2b3dce2342 chore: Remove obsolete dependency. 2021-08-04 17:14:18 +02:00
Matthieu Bosquet
66accacde8 chore: Update access token verifier 2021-08-04 08:29:34 +02:00
Renovate Bot
8c266f09c5 fix(deps): update dependency ws to v8 2021-08-02 13:32:01 +01:00
Joachim Van Herwegen
2ae95bd167 refactor: Remove streamify array dependency 2021-08-02 14:28:43 +02:00
Joachim Van Herwegen
63e88578c3 feat: Rewrite TokenOwnershipValidator behaviour to remove @rdfjs/fetch dependency 2021-08-02 12:02:10 +02:00
Joachim Van Herwegen
2a82c4f06e fix: Replace rimraf with fs-extra.remove 2021-08-02 10:39:28 +02:00
Ruben Taelman
3cb200328a chore: bump mime-types with support for TriG 2021-08-02 09:57:36 +02:00
Ruben Verborgh
fdd1a3732e Release version 1.0.0-beta.2 of the npm package. 2021-07-30 16:15:05 +01:00
Matthieu Bosquet
6312a178ae chore: Update access token verifier 2021-07-30 08:49:58 +02:00
Joachim Van Herwegen
2d1d098b02 chore: Update Components.js dependencies 2021-07-26 14:17:36 +02:00
Ruben Verborgh
0be82228bb Release version 1.0.0-beta.1 of the npm package. 2021-07-23 23:57:23 +02:00
Joachim Van Herwegen
3bb7a32c0c feat: Add support for client_id WebIDs 2021-07-23 16:44:50 +02:00
Joachim Van Herwegen
bd10256e59 fix: Make sure there is always a fallback for error handling 2021-07-23 14:48:27 +02:00
Ruben Verborgh
1394b9cb56 feat: Add HTML container listing. 2021-07-22 14:35:14 +02:00
Matthieu Bosquet
4a5224b3a6 chore: update access token verifier 2021-07-14 08:53:49 +02:00
Joachim Van Herwegen
f2f967ff8a feat: Convert errorCodes using markdown 2021-07-06 16:42:06 +02:00
Joachim Van Herwegen
5edbbc1958 chore: Update dependencies 2021-06-30 10:24:13 +02:00
Ruben Verborgh
d01382d36e Release version 1.0.0-beta.0 of the npm package. 2021-06-29 17:43:44 +01:00
Joachim Van Herwegen
f299b36e24 fix: Support BGPs with variables in SPARQL UPDATE queries 2021-06-28 11:12:44 +02:00
Renovate Bot
db6498f213 chore(deps): update dependency typedoc to ^0.21.0 2021-06-21 09:05:42 +02:00
Renovate Bot
f054604950 fix(deps): update dependency @solid/identity-token-verifier to ^0.8.0 2021-06-14 08:36:29 +01:00
Joachim Van Herwegen
ded263a81d fix: Support empty PATCH requests 2021-06-10 16:19:33 +02:00
renovate[bot]
afc662ca9a
chore: Update (ts-)jest and use modern fake timers where possible
* chore(deps): update dependency jest to v27

* chore: Update (ts-)jest and use modern fake timers where possible

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2021-05-31 15:29:14 +02:00
Joachim Van Herwegen
452032e312 feat: Split preset configurations by feature 2021-05-19 09:40:40 +02:00
Joachim Van Herwegen
fadbaefce2 refactor: Move config templates to templates folder 2021-05-19 09:40:40 +02:00
Renovate Bot
d9b641c2b0 fix(deps): update dependency @types/bcrypt to v5 2021-05-11 08:50:10 +02:00
Renovate Bot
2e8b649e2c fix(deps): update dependency fetch-sparql-endpoint to v2 2021-05-10 13:59:47 +02:00
Ruben Verborgh
0a68fbfe6a Release version 0.9.0 of the npm package. 2021-05-04 15:24:08 +01:00
Ruben Verborgh
b94c6a3b70 chore(deps): Update dependencies. 2021-05-04 12:31:19 +01:00
jaxoncreed
1d65143e89
feat: Add identity provider (#455)
* Add identity provider handler as a dependency

* Temp Identity

* Figured out how to get koa to work

* Hooked up idp to networking

* Feat/idp architecture refactor (#430)

* Logs in with solid oidc

* Refactored Provider

* Attempt to hook up dependencies

* Partial wiring of oidc provider components

* IdP networking now works with architecture

* Interaction Handlers Set Up

* fix: Rename & adapt to CSS

* Included Login Interaction

* Refactored architecture to bind Interaction Policy to HttpHandlers

Co-authored-by: Matthieu Bosquet <matthieubosquet@gmail.com>

* fix: Rebase on master

* fix: DI after rebase

* Reimplemented Routing

* Renamed modules and removed ProviderFactory (#450)

* refactor: Solid IdP DI

* refactor: IdP interaction handler DI

* refactor: IdP interaction waterfall

* refactor: Remove unnecessary legacy URL parse

* fix: Add legacy parse back in

* feat: adapter & fix: handlers

* Removed adapter factory

* fix: refactor IdP

* fix: refactor IdP

* fix: refactor IdP

* feat: Add IdP to file storage config

* fix: Unintended commit

* fix: Components ignore

* feat: Basic resource store adapter

* Partially complete idp routing

* Set up initial routing injection graph

* Clean up ResourceStorageAdapter

* Refactored configuration architecture

* Hooked up Login UIs (#518)

* feat: Use template path & run fileserver

* feat: Use util function to read resource

* Fixed DI JSON-LD context

* fixed rendering

* WebId validator

* Set up persistent storage for loing and register

* Fixed ejs template routing

* Refactored StorageAdapters

* NSS login successful

* Forgot password infrastructure

* Can send email (#557)

* Can send email

* fix: IdP crashes if interaction ID doesn't exist (#587)

* feat: Require an issuer registration token

* fix: Issuer registration token typo in error

* fix: Remove dummy IdP storage adapter

* fix: Remove unused library lodash

* fix: Remove unused library lru-cache

* Production ready keystore

* Ruben comments before clownface removal

* Removed clownface

* Change key value store

* Completed Ruben's comments

* Added comments to each class

* Fixed errors on login

* Ruben feedback

* Refactored out getPostRenderHandler

* Identity provider tests (#622)

* corrected tests lacking <void> on promises

* Added files for all idp tests

* Added unfinished tests for all added files

* ErrorHandlingWaterfallHandler

* RenderEjsHandler and RouterHandler tests

* GetPostRouterHandler and BasicOnErrorHandler tests

* Corrected tests for updates to Idp

* fix: missing export

* fix: audience claim

* Client Id Support (#630)

* Added client_id for the auth challenge

* Update src/identity/storage/ClientWebIdFetchingStorageAdapterFactory.ts

Co-authored-by: Matthieu Bosquet <matthieubosquet@gmail.com>

Co-authored-by: Matthieu Bosquet <matthieubosquet@gmail.com>

* fix: Rebase fixes

* Several minor Idp changes/refactors (#656)

* fix: Minor changes

* refactor: Split EmailPasswordInteractionPolicy

* refactor: Remove ErrorHandlingWaterfallHandler

* refactor: Clean up dependencies

* fix: Add dummy IdentityProviderHandler to fix integration tests

* Replace KeyValueStore with KeyValueStorage (#663)

* feat: Create WrappedExpiringStorage

* refactor: Update ResourceStoreEmailPasswordStore to use KeyValueStorage

* refactor: Update KeyGeneratingIdpConfigurationGenerator to use KeyValueStorage

* refactor: Update ResourceStoreStorageAdapterFactory to use ExpiringStorage

* refactor: Removed KeyValueStore

* refactor: Simplify EmailPassword handlers (#664)

* refactor: Order index.ts

* test: Add EmailPasswordForgotPasswordHandler unit tests

* test: Add EmailPasswordGetResetPasswordHandler unit tests

* test: Add EmailPasswordLoginHandler unit tests

* test: Add EmailPasswordRegistrationHandler unit tests

* test: Add EmailPasswordResetPasswordHandler unit tests

* test: Remove unnecessary test file

* feat: Basic instructions for using the IdP

* fix: IdP instructions and add example WebID

* fix: IdP registration copy

* fix: IdP instruction editorial

* Update README.md

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>

* Update README.md

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>

* test: Add KeyGeneratingIdpConfigurationGenerator unit tests

* test: Add KeyValueEmailPasswordStore unit tests

* test: Create IdP integration test

* test: Add EmailPasswordInteractionPolicy unit tests

* test: Add BasicIssuerReferenceWebIdOwnershipValidator unit tests

* test: Add ChooseInitialInteractionHandler unit tests

Also fixes the config warning.

* test: Add EjsTemplateRenderer unit tests

* test: Add EmailSender unit tests

* test: Add FormDataUtil unit tests

* test: Add IdpRouteController unit tests

* test: Add OidcInteractionCompleter unit tests

* refactor: Simplify ClientWebIdFetchingStorageAdapterFactory

* test: Add ClientWebIdFetchingStorageAdapterFactory unit tests

* refactor: Fix ejs html warnings

* test: Add step to test logging in again

Included are updates to handle cookies more correctly.

* feat: Add IdpConfirmHttpHandler

This way there's a handler for the confirm page.

* test: Add ExpiringStorageAdapterFactory unit tests

* test: Add IdentityProviderFactory unit tests

* test: Add IdentityProviderHttpHandler unit tests

* refactor: Minor refactors

* refactor: Use jose instead of node-jose

* refactor: Use jose instead of node-jose

Reduces the number of dependencies since other libraries
also depend on jose.

* Update src/identity/configuration/KeyGeneratingIdpConfigurationGenerator.ts

Co-authored-by: Matthieu Bosquet <matthieubosquet@gmail.com>

* refactor: Use interfaces instead of abstract classes

* refactor: Make WebIdOwnershipValidator an AsyncHandler

* refactor: Make TemplateRenderer an AsyncHandler

* fix: Fix typing issue

* fix: Convert JWK to plain object for node 15

* feat: Update CI configuration

--ignore-scripts was removed because it also stopped dependency scripts,
which was a requirement for bcrypt.
15.0 was removed since that version doesn't run the required scripts after install.
14.0 was removed since the somehow it caused the solid-authn client to do the wrong calls.

* test: Run integration tests on Node 14.2

This is the lowest 14.x version where the IdP integration tests succeed.

* feat: Use ErrorResponseWriter for handling oidc errors

* test: Mock Date in OidcInteractionCompleter tests

* fix: Correctly generate new identifiers

Previously there could be double slashes if the base URL ended in slash.

* fix: Correctly handle storagePathName in ExpiringStorageAdapterFactory

* fix: Fix issue with new CliRunner test in rebase

* fix: Handle unknown errors more consistently

* feat: Make idp parameter dynamic

* feat: Add more logging

* refactor: Link css instead of injecting

* fix: Fix redis integration tests with idp

* refactor: Shorten idp class names

* refactor: Remove e-mail configuration from default config

* feat: Store JsonResourceStorage data in a single container

* feat: Make sure expired data gets removed at some point

* feat: Only accept strings as keys in KeyValueStorage

* fix: Various minor fixes based on review

Co-authored-by: Matthieu Bosquet <matthieubosquet@gmail.com>
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2021-05-04 13:17:43 +02:00
Ruben Taelman
2861b902c4 feat: enable more compact config props using type-scoped contexts 2021-04-27 14:39:17 +02:00
Matthieu Bosquet
723759ecad chore: update identity token verifier 2021-04-27 09:15:53 +02:00
Renovate Bot
dcc0b3f683 chore(deps): update dependency @microsoft/tsdoc-config to ^0.15.0 2021-04-19 09:52:46 +02:00
Arthur Joppart
99d0173213
feat: Add redis based locking mechanism
* feat: redis based locking mechanism

* fix: adapted to review and wrote unit tests

* fix: adapted to review(Woutermont)

* fix: adapted to review and expanded tests

* test: redlock integration tests

* test: corrected file name

* test: tests should run on CI now

* test: improved tests and minor changes according to review

* fix: forgot describeIf docker

* test: adapted to review

* test: Mock all redis dependencies

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2021-04-19 09:45:25 +02:00
Ruben Verborgh
54ff2317a5 Release version 0.8.1 of the npm package. 2021-03-23 12:53:33 +01:00
Ruben Verborgh
12ace1b556 Release version 0.8.0 of the npm package. 2021-03-04 12:54:55 +01:00
Matthieu Bosquet
4385b461b5 fix: Update token verifier version 2021-03-03 11:03:55 +01:00
Matthieu Bosquet
5c6822d468 fix: Update faulty token verifier 2021-02-26 08:56:40 +01:00
Joachim Van Herwegen
bdb3621ee3 feat: Create SubdomainExtensionBasedMapper
This is required for file backends when supporting identifiers containing subdomains.
2021-02-25 13:16:26 +01:00
Joachim Van Herwegen
55fddf8e60 chore: Update sparqlalgebrajs to v2.5.1 2021-02-25 10:21:55 +01:00
Matthieu Bosquet
894d4589d9
fix: Allow non-variable BGP boedies in SPARQL updates
* fix: SPARQL algebra update

* fix: SPARQL algebra bgp only

* fix: No SPARQL variables and refactor tests
2021-02-24 08:56:31 +01:00
Stijn Taelemans
ce1f4300ff
feat: Replace express with native http module
* refactor: replace express with native http module

* fix: 404 when unhandled

* chore: removed express dependency

* chore: updated package-lock.json

* docs: added documentation for BaseHttpServerFactory

* chore: updated package-lock.json

Co-authored-by: Arthur Joppart <arthur@digita.ai>
2021-02-11 10:15:40 +01:00
Joachim Van Herwegen
0ffd332828 feat: Use end-of-stream to know when to release lock 2021-02-10 16:37:34 +01:00
Joachim Van Herwegen
fd45779159 feat: Pipe streams with the pump library
The library handles some edge cases we didn't yet.
The GuardedStream was also updated to ignore error listeners
already attached to the stream (since pump adds internal listeners).
2021-02-10 16:00:35 +01:00
Stijn Taelemans
9b6eab27bc refactor: upgraded @types/cors 2021-02-10 11:11:57 +01:00
Renovate Bot
0fe1bbd004 fix(deps): update dependency @types/yargs to v16 2021-02-01 09:06:20 +01:00