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
Joachim Van Herwegen
740ba3398b
Merge branch 'main' into versions/5.0.0
...
# Conflicts:
# RELEASE_NOTES.md
# config/app/variables/cli/cli.json
# config/app/variables/default.json
# package-lock.json
# package.json
2022-08-04 17:18:34 +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
Thomas Dupont
17e49e2f48
build: replace bcrypt (native) with bcryptjs
2022-07-12 15:36:15 +02:00
Joachim Van Herwegen
6f4e70dbb9
fix: Change YargsCliExtractor structure to avoid Components.js issues
2022-04-25 09:09:39 +02:00
Joachim Van Herwegen
2ec8fabd54
feat: Add support for client_credentials authentication
2022-04-15 11:20:26 +02:00
Wannes Kerckhove
283c301f08
feat: new helper functions to replace regexes #807
...
Implemented new StringUtil helper functions: splitCommaSeparated, sanitizeUrlPart, isValidFileName.
Added helper functions to HeaderUtil: matchesAuthorizationScheme, hasScheme.
Added unit tests for the new helper functions.
Refactored codebase to use helper functions instead of regexes if applicable.
2022-04-13 11:26:07 +02:00
Joachim Van Herwegen
effc20a270
feat: Store methods in MethodNotAllowedHttpError
2022-03-29 14:52:36 +02:00
Ruben Verborgh
eceb71088a
docs: Explain why IDP redirects are transformed into JSON responses.
2022-02-23 10:40:14 +01: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
5613ff9e71
fix: Let Representations always have a body
...
This is relevant when the request has a content-type
but no data.
2021-10-12 13:30:06 +02: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
6cf539c171
feat: Store cause for errors where relevant
2021-07-06 16:42:06 +02:00
Joachim Van Herwegen
e44c337d0f
feat: Allow HttpErrors to store cause and errorCode
2021-07-06 16:42:06 +02:00
Joachim Van Herwegen
5edbbc1958
chore: Update dependencies
2021-06-30 10:24:13 +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
68f2446e27
fix: Various minor fixes
2021-06-01 15:38:55 +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
Joachim Van Herwegen
6214e0c537
feat: Introduce debugging OwnershipValidator
2021-06-01 15:38:55 +02:00
Joachim Van Herwegen
998d2f49e1
fix: Remove interaction details from IdpRenderHandler
2021-06-01 15:38:55 +02:00