Joachim Van Herwegen
990184dbb5
refactor: Use node protocol when importing builtins
2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
def0b5c732
refactor: Enable consistent newlines in lists
2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
3bb3004abb
refactor: Bring lint config back to original strictness
2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
7a007dc466
refactor: Enable stricter test linting
2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
6248ed0938
refactor: Replace linting configurations
...
The previous package was outdated, preventing us from updating TS.
This one also lints YAML and JSON,
and applies many more rules to the test files,
explaining all the changes in this PR.
2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
f932cf4b22
chore: Update dependencies
2023-10-11 16:25:49 +02:00
Joachim Van Herwegen
42a1ca7b64
feat: Create PodCreator class to contain most pod creation logic
2023-10-06 11:05:01 +02:00
Joachim Van Herwegen
307dba3219
fix: Rename cookie field to authorization
2023-10-06 11:05:00 +02:00
Joachim Van Herwegen
cd07338ce7
feat: Add support for pod owners
2023-10-06 11:04:59 +02:00
Joachim Van Herwegen
4230db5038
feat: Use IndexedStorage to store account data
2023-10-06 11:04:58 +02:00
Joachim Van Herwegen
a47f5236ef
feat: Full rework of account management
...
Complete rewrite of the account management and related systems.
Makes the architecture more modular,
allowing for easier extensions and configurations.
2023-10-06 11:04:40 +02:00
Joachim Van Herwegen
b3ef4ed017
fix: Use local file for oidc-provider typings
...
Due to v8 of oidc-provider being ESM,
we can't use the typings directly because of a TS bug:
https://github.com/microsoft/TypeScript/issues/49721 .
This works around that.
2023-10-06 08:39:07 +02:00
Joachim Van Herwegen
23db528472
fix: Replace inefficient storage detection
...
This replaces the recursive backend calls to find the storage
by a new class that is aware what the storage URLs look like.
2023-04-19 09:47:47 +02:00
Joachim Van Herwegen
4d9d1b90b0
fix: Prevent accidental nested storages
2022-09-26 11:57:42 +02:00
Wannes Kerckhove
cf74ce3d2a
fix: Convert TemplateEngine to AsyncHandlers
2022-09-26 09:42:18 +02:00
jaxoncreed
3fea5c98f5
feat: Allow switching accounts
...
* feat: Allow logging out on the consent page
* feat: log in with a different account cleanup
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2022-08-03 08:19:22 +02:00
Joachim Van Herwegen
2ec8fabd54
feat: Add support for client_credentials authentication
2022-04-15 11:20:26 +02:00
Joachim Van Herwegen
e604c0c2e4
feat: Return client information from consent handler
2022-02-21 10:04:57 +01:00
Joachim Van Herwegen
c9ed90aeeb
fix: Update OIDC provider dependency to v7
...
The biggest resulting change is that the consent page always appears
after logging in.
Some minor fixes to be closer to the spec are included
together with some minor structural refactors.
2022-02-21 10:04:57 +01:00
Joachim Van Herwegen
1769b799df
fix: Make IDP routes independent of handlers
2022-02-16 12:47:45 +01:00
Joachim Van Herwegen
a684b2ead7
feat: Update IDP templates to work with new API format
2022-02-11 10:52:45 +01:00
Joachim Van Herwegen
bc0eeb1012
feat: Split up IDP HTML, routing, and handler behaviour
2022-02-11 10:52:45 +01:00
Joachim Van Herwegen
8f8e8e6df4
feat: Send reset password recordId as query parameter
...
This is a revert of a previous change
but is now possible due to the use of JSON bodies.
This does mean JavaScript is required in the HTML page,
but that will be required for future changes anyway.
2022-02-11 10:52:45 +01:00
Thomas Dupont
d067165b68
fix: Split AccountStorage and ForgotPasswordStorage (expiring now)
2022-02-09 13:26:42 +01:00
Joachim Van Herwegen
4241c5348d
feat: Move redirect support from IDP handler to specific handlers
2021-12-09 14:10:42 +01:00
Joachim Van Herwegen
b3da9c9fcf
refactor: Restructure source code folder
...
This way the location of certain classes should make more sense
2021-10-12 12:51:02 +02:00
Joachim Van Herwegen
8f5d61911d
feat: Always grant control permissions to pod owners
2021-10-05 13:19:01 +02:00
Joachim Van Herwegen
6c4ccb334d
feat: Store account settings separately
...
Account settings are stored using the WebID as key.
Reason for using the WebID is that this allows faster access to the settings
in authenticated requests.
A consequence of this is that passwords are now always required during registration,
and that there can only be 1 account per WebID.
2021-10-05 13:19:01 +02:00
Joachim Van Herwegen
4e1a2f5981
feat: Create SetupHttpHandler
...
This handler allows users to set up servers with a pod
and without having to enable public access first
2021-09-27 10:32:34 +02:00
Joachim Van Herwegen
cc1c3d9223
feat: Support JSON errors
...
The IDP behaviour has been changed to move all error related knowledge
to the IdentityProviderHttpHandler instead of managing it
in the Interactionhandlers.
2021-09-08 13:55:52 +02:00
Joachim Van Herwegen
bbfbfbbce4
refactor: Move InteractionRoute behaviour to separate class
2021-09-08 13:55:52 +02:00
Joachim Van Herwegen
4f1a86dfa0
feat: Convert IDP input data to JSON
2021-09-08 13:55:52 +02:00
Joachim Van Herwegen
1e1edd5c67
refactor: Clean up internal storage
...
Each IDP class using storage now has a different storage.
This way those classes don't have to worry about clashing keys anymore.
All internal storage is now in the /.internal/ container,
thereby making it easier to take the location of the internal data into account:
only 1 path needs to be blocked and a regex router handling internal data
differently only has to match 1 path as well.
2021-09-08 10:01:51 +02:00
Joachim Van Herwegen
f0f59a8f27
refactor: Move URL join utility function to PathUtil
2021-08-18 15:39:02 +02:00
Joachim Van Herwegen
7b42c72142
feat: Let InteractionCompleter return redirect URL
2021-08-18 15:39:02 +02:00
Joachim Van Herwegen
7b7040a196
feat: Use RequestParser and ResponseWriter for IDP
2021-08-18 15:39:02 +02:00
Joachim Van Herwegen
47b3a2d77f
fix: Allow clients to be remembered in the SessionHttpHandler
2021-08-17 16:58:56 +02:00
Joachim Van Herwegen
d3de5f3114
feat: Pass optional Interaction to InteractionHandlers
2021-08-04 16:21:13 +02:00
Joachim Van Herwegen
18a71032c0
feat: Create ChainedTemplateEngine for combining engines
2021-08-03 12:52:30 +02:00
Joachim Van Herwegen
9d337ba80c
feat: Moved IDP response and template behaviour to single class
2021-08-02 11:29:33 +02:00
Ruben Verborgh
969bb0ee6c
docs: Make registration form self-explanatory.
2021-07-30 13:20:19 +02:00
Joachim Van Herwegen
d596d575a1
fix: Clean pod creation input parameters during registration
2021-07-27 08:49:53 +02:00
Ruben Verborgh
defdb32a35
docs: Add pod README.
2021-07-23 23:13:38 +02:00
Joachim Van Herwegen
60ebf5454a
feat: Let InitialInteractionHandler redirect requests
2021-07-23 16:08:28 +02:00
Joachim Van Herwegen
0e67004ef4
feat: Store reset password ID in the submit URL
2021-07-23 16:08:28 +02:00
Ruben Verborgh
9628fe98b8
refactor: Align EJS engine with Handlebars.
2021-07-22 11:12:21 +02:00
Joachim Van Herwegen
fdc52f50e5
feat: Simplify and merge OIDC configurations
2021-07-12 13:49:57 +02:00
Joachim Van Herwegen
7cfb87e516
feat: Add better support for non-native errors
2021-06-14 15:29:47 +02:00
Joachim Van Herwegen
4d7d939dc4
feat: Combine pod creation with IDP registration
2021-06-01 15:38:55 +02:00
Joachim Van Herwegen
9bb42ddf0d
feat: Add verification to AccountStore
2021-06-01 15:38:55 +02:00