Commit Graph
80 Commits
Author SHA1 Message Date
Karol Sójko c7d575a0ff feat: add files server as a service to home-server (#614)
* wip: add files server as a service to home-server

* wip: introduce home-server controllers without inversify-express-utils decorators. Move in progress

* fix(auth): move remaining home server controllers

* fix(syncing-server): home server controllers

* fix(revisions): home server controllers

* fix: specs

* fix: import for legacy controller

* fix: remove router debug
2023-05-29 14:45:49 +02:00
Karol Sójko 1e4c7d0f31 feat: refactor auth middleware to handle required and optional cross service token scenarios (#612)
* wip: fix variable name

* wip: remove redundant middleware in auth

* fix: auth middleware refactor

* fix(auth): fetching user for key params

* fix(auth): specs

* fix(auth): registering session controller endpoints
2023-05-25 09:43:00 +02:00
Karol Sójko b8353aa817 chore: add metadata to winston loggers 2023-05-18 07:54:36 +02:00
Karol Sójko b3b617ea0b feat: bundle syncing server into home server setup (#611)
* feat(syncing-server): move inversify express controllers to new structure

* wip: syncing server service binding for home server

* fix(syncing-server): container bindings

* fix(api-gateway): rename https service to service proxy

* fix: proxying requests to syncing server

* fix: responses and version binding
2023-05-17 15:38:12 +02:00
Karol Sójko fea58029b9 feat(auth): move inversify express controllers to different structure (#610)
* wip: move valet token controller

* wip: move users controller

* wip: move admin controller

* wip: move subscription tokens controller

* wip: move subscription settings controller

* wip: move settings controller

* wip: move middleware

* wip: move session controller

* wip: move offline controller

* wip: move listed controller

* wip: move internal controller

* wip: move healthcheck controller

* wip: move features controller

* fix: bind inversify express controllers only for home server

* fix: inversify deps
2023-05-17 11:54:18 +02:00
Karol Sójko 8a47d81936 feat: add direct event handling for home server (#608)
* feat(domain-events-infra): add direct call event message handler

* feat: add direct publishing of events into handlers

* fix: validating sessions with direct calls
2023-05-17 09:23:48 +02:00
Karol Sójko dc71e6777f feat: home-server package initial setup with Api Gateway and Auth services (#605)
* fix(api-gateway): reduce exports

* wip controllers

* fix: imports of controllers

* fix(api-gateway): rename http service interface to proxy interface

* wip: self-registering services and controllers

* wip: add registering controller method bindings and services in container

* feat: merge two services together

* wip: resolving endpoints to direct code calls

* wip: bind controller container to a singleton

* fix: controller binding to instantiate and self-register on controller container

* fix: move signout endpoint to auth controller

* wip: define inversify controllers in the controller container

* fix(auth): bind inversify controllers to controller container

* fix(auth): linter issues

* fix(auth): specs

* fix(auth): inversify controllers bindings

* wip: endpoint resolving

* wip: add endpoint for more auth controllers

* wip: add sessions controller endpoint resolvings

* wip: add subscription invites endpoint resolvings

* wip: add subscription tokens endpoint resolvings

* wip: add all binding for auth server controllers

* wip: fix migrations path

* fix: configure default env vars and ci setup
2023-05-16 11:38:56 +02:00
Karol Sójko 8fbb94d15a feat: upgrade to node 20.1.0 (#590)
* feat: upgrade node to 20.0.0

* fix(auth): webauthn usage

* fix: remove better-sqlite3 driver and unplug newrelic

* fix: add sqlite3 lib to packages

* chore: upgrade aws-sdk and localstack

* fix: specs and node types

* tmp: check if installing yarn helps linter and test cancellation issues

* Revert "tmp: check if installing yarn helps linter and test cancellation issues"

This reverts commit eacb4e28d1.

* fix: run tests separately

* tmp: downgrade yarn release

* Revert "tmp: downgrade yarn release"

This reverts commit a277454dbe.

* feat: upgrade to node 20.1.0

* Revert "fix: run tests separately"

This reverts commit 5755f2caf9.
2023-05-08 12:16:18 +02:00
Karol Sójko c71f7ff8ad feat: extract cache entry model to domain-core (#581)
* feat: extract cache entry model to domain-core

* fix(auth): rename cache table to be auth specific
2023-05-02 11:43:50 +02:00
Karol Sójko 97124928df feat(auth): add sqlite driver repositories (#580)
* feat(auth): add pkce sqlite repository for home server

* feat(auth): add sqlite subscription token repository for home server
2023-05-01 14:50:36 +02:00
Karol Sójko 5fe6ed1462 feat(auth): add sqlite offline subscription token repository for home server (#579) 2023-05-01 13:50:24 +02:00
Karol Sójko 8f57ece7b8 feat(auth): add sqlite ephemeral session repository for home server (#578) 2023-05-01 13:09:47 +02:00
Karol Sójko 9d7e63a7a7 feat(auth): add sqlite lock cache for home server (#577)
* feat(auth): add sqlite lock cache for home server

* fix(auth): lock repository binding
2023-05-01 12:02:52 +02:00
Karol Sójko 56c922e715 feat(auth): add cache entries model (#576) 2023-05-01 09:49:27 +02:00
Karol Sójko 3aef5998df feat: sqlite driver for auth service (#572)
* wip: initial sqlite bootstrap

* wip: switch to sqlite3 as default db type

* wip: boilerplate data

* fix(auth): case sensitive register and login

* fix(auth): refactor username validations

* fix(auth): allow changing username to both username and email:

* fix(auth): lock middleware for recovery log in

* fix(domain-core): specs for invalid types

* fix(auth): lock middleware specs

* fix(auth): typeorm code arrangements

* fix: running e2e on both mysql and sqlite in ci
2023-04-27 11:17:01 +02:00
Karol Sójko 8242f13aff feat(auth): add initial emergency access invitations model (#528) 2023-04-04 11:10:11 +02:00
Karol Sójko 51b264ca13 feat(auth): feature entitlement check for u2f endpoints 2023-04-03 15:43:32 +02:00
Karol Sójko aca8d2948d fix(auth): relying party id 2023-04-03 12:43:05 +02:00
Karol SójkoandKarol Sójko 27cf093f85 feat: sign in setting refactor (#472)
* fix(auth): refactor setting names into domain core value objects

* fix(auth): refactor specs with setting name value objects

* feat(auth): move mute sign in emails to a subscription kind of setting

* feat(auth): add migration script to change sign in email settings to subscription settings

* chore: fix setting name usage

* fix(auth): upper casing setting names

---------

Co-authored-by: Karol Sójko <[email protected]>
2023-03-08 10:22:27 +01:00
Karol Sójko 2fad6b62cb feat(auth): add cleanup of expired sessions 2023-03-06 10:43:53 +01:00
Karol Sójko d6469954ce feat(auth): add configurable list of readonly users (#462) 2023-03-02 14:51:52 +01:00
Karol Sójko e07612fe24 remove redis events channels 2023-02-06 11:31:47 +01:00
Karol Sójko bf55bbccd9 Revert "fix(auth): disallow adding u2f devices if a user does not have 2fa enabled"
This reverts commit 11bcd318ab.
2023-02-02 14:50:41 +01:00
Karol Sójko 11bcd318ab fix(auth): disallow adding u2f devices if a user does not have 2fa enabled 2023-02-02 13:57:27 +01:00
Karol Sójko 989e1ce175 fix(auth): verification rpid options 2023-02-02 11:31:31 +01:00
Karol Sójko b7967b34d1 fix(auth): allow defining multiple expected origins upon u2f registration and verification 2023-02-02 09:21:11 +01:00
Karol Sójko b54c331bef fix: sqs configuration for aws sdk v3 2023-01-30 12:49:14 +01:00
Karol Sójko eb771e7932 refactor: upgrade aws sdk to v3 2023-01-27 15:56:52 +01:00
Karol Sójko ef997be219 refactor: generating authentication options 2023-01-25 13:24:02 +01:00
Karol Sójko f1d3117518 fix(auth): add cleanup of authenticator devices upon sign in with recovery codes 2023-01-24 11:17:51 +01:00
Karol Sójko c38817c62e feat(auth): add configurable user verification requirement on u2f via env vars 2023-01-23 15:31:49 +01:00
Karol Sójko 1797bc8181 feat(auth): add configuring u2f expect origin 2023-01-23 13:53:10 +01:00
Karol Sójko aaf42e4693 refactor: remove Uuid from @standardnotes/common in favour of @standardnotes/domain-core definition 2023-01-19 15:11:47 +01:00
Karol Sójko f73129cd7e fix: allow to run typeorm in non-replica mode 2023-01-17 13:45:32 +01:00
Karol Sójko d18f6ccd32 fix(auth): add relying party configuration options 2023-01-11 13:47:13 +01:00
Karol Sójko a0208dd5b3 fix(auth): remove mfa settings after recovery sign in 2023-01-09 12:56:50 +01:00
Karol Sójko cac899a7e5 feat(auth): add recovery sign in with recovery codes 2023-01-05 11:42:55 +01:00
Karol Sójko a360231fd0 feat(auth): add generating recovery codes 2023-01-04 15:29:15 +01:00
Karol Sójko de50d76800 feat(auth): add removing authenticator 2022-12-29 13:55:08 +01:00
Karol Sójko 01837eaea9 feat(auth): add listing authenticators 2022-12-29 13:37:30 +01:00
Karol Sójko b6fda901ef feat(auth): add http endpoints for authenticators 2022-12-29 11:29:23 +01:00
Karol Sójko 64525a65f2 feat(auth): add verifying authenticator authentication response 2022-12-29 09:41:10 +01:00
Karol Sójko 8c7c1e4745 feat(auth): add generating authenticator authentication options 2022-12-29 08:45:32 +01:00
Karol Sójko f5683cfd94 feat(auth): add verifying authenticator registration response 2022-12-28 15:50:48 +01:00
Karol Sójko 51ad06b303 feat(auth): add generating authencator registration options 2022-12-28 13:56:06 +01:00
Karol Sójko fa9bf0b448 feat(auth): add authenticator challenges model 2022-12-28 12:40:13 +01:00
Karol Sójko 1e69a13a97 feat(auth): add authenticators model 2022-12-28 11:37:06 +01:00
Karol Sójko 5b4bb6e7a7 fix(auth): replace date object with number timestamp 2022-12-20 10:54:31 +01:00
Karol Sójko a35271fbb3 feat(auth): add requesting persisting statistics 2022-12-19 15:19:49 +01:00
Karol Sójko 147d8fd9af feat(auth): add session traces cleanup procedure 2022-12-19 12:49:59 +01:00