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.
Dynamic imports cause segmentation faults with Jest:
https://github.com/nodejs/node/issues/35889.
We work around this by handling imports in IdentityProviderFactory
differently when Jest is running.
For unit tests we use a different tsconfig
that transpiles dynamic imports differently,
as those are also used in AppRunner.
* 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>
* feat: Add logging
* refactor: Configure the logger for the tests once globally
* feat: Add logging
* fix: Fix ESLint errors due to merge conflicts
* Review log and error messages.
* refactor: Cleanup a bit
* refactor: Change to logger info calls
Co-authored-by: Ruben Verborgh <ruben@verborgh.org>
* test: Write unit tests for CliRunner
* test: fix Loader mock and add new mock and test
* test: Put function definition in beforeEach
* test: Add comments to code
* refactor: Move outsideResolve to setup call
* add todo
* Added configurations folder
* Added config to index
* changed /bin/server to use configfiles
* initiate acl with Setup component
* add last changes
* reset serverconfig
* move authenticatedLdpHandler configs to config files
* failed to read testss
* failed to read testss
* removed import part
* Fix merge conflicts
* add first FileResTests
* fix: fix fileresourcestore metadata error
* fix unit tests
* remove test files
* Added test and changed callFile
* Fix: metadata file error in FileResourceStore
* fix: ensure full test coverage
* added tests
* Fix get tests
* added testfiles
* changed config to use PasstrueStore
* to continue work on
* refactor fileresourcestore config
* refactor tests
* fix content-types, update tests
* replace sync methods with async methods
* move acl function to util
* added testfiles for Fileserver with acl
* update tests
* add first acl filestore test
* refactor
* add resource mapper
* refactor config files
* add more fileresourcestore acl tests
* add locking resource store test files
* move file mapping logic to resourcemapper
* added beforeAll for a permanent file in Auht tests
* make filestore dependent of resource mapper
* moved configs to test/configs
* set default contenttype
* refactor fileresourcemapper
* fix map function
* refactor
* fixed foldercreationtest
* changed some tests so the files are cleaned up when done testing
* add normalized parser
* Auhtenticationtests clean up acl file
* refactor unit test
* lost changes added again
* fix metadata problem
* refactor names
* reverse change
* add getters
* configs and start util
* add comments
* add comments, move code
* added acl helper and changed tests
* linter 7.7.0 -> 7.0.0
* moved test/tesfiles -> test/assets
* removed configs/**/*.ts from tsconfig.json
* Temporary changed threshold so cli test is ignored and commiting goes easier, will revert later
* added FileResourceStore to index
* Changed imports
* Changed imports for all configs
* Removed comment
* Changed names of configs
* added 'Config' to name and removed comment
* removed unused testfile and added testfile 0
* changed beforeAll to just copy permanent file
* change text/turtle to constant
* fix converter issue
* getHandler -> getHttpHandler, and updates to config
* removed ','
* removed trailing /
* changed imports for index.d.js problem
* removed duplicate file and added line that got removed in mergeconflicts
* add jest global teardown
* add ignore for CliRunner
* add changes
* fix copyfile error
* remove unused testfiles
* adding test with image
* add first util functions
* relative paths to absolute paths
* added 3 FileStoreTests
* more refactoring
* more absolute paths
* fix mkdir path
* added test
* add util for easy configs
* add comments
* added some testhelpers and refactor first test
* fix converter test error
* refactor FileResTests
* solved failing test because new converters
* removed afterAll()
* removed setAcl from util
* removed config from Authorization.test.ts
* changed strange linting
* refactored AuthenticatedFileResourceStore tests
* fixed unclear root variable
* fix: Use absolute test paths
* Mock fs correctly and remove teardown
* Clean up after tests
Co-authored-by: freyavs <freyavanspeybroeck@outlook.com>
Co-authored-by: thdossch <dossche.thor@gmail.com>
Co-authored-by: Freya <56410697+freyavs@users.noreply.github.com>
Co-authored-by: thdossch <49074469+thdossch@users.noreply.github.com>
Co-authored-by: Ruben Verborgh <ruben@verborgh.org>