Commit Graph

304 Commits

Author SHA1 Message Date
Martin Kleinschrodt e0834e72cb Update SimpeWebAuthn dependency to latest 2022-08-02 08:11:40 +02:00
Martin Kleinschrodt e2d8dc21ce Actually, using time stamps as an id prefix is probably a better idea 2022-07-29 18:06:33 +02:00
Martin Kleinschrodt 3736fac4c5 Forgot to generate id for log events 2022-07-29 17:58:49 +02:00
Martin Kleinschrodt cc092fae03 Implement postgres logger 2022-07-29 17:30:53 +02:00
Martin Kleinschrodt a7c58f693d Fix type error 2022-07-29 17:15:20 +02:00
Martin Kleinschrodt 01dd5eaf2a Provide better information in error reports by printing the stack trace and message of the original error instead of the Err wrapper 2022-07-29 16:36:32 +02:00
Martin Kleinschrodt b1f094e930 Disable billing page for platforms excluded from billing 2022-07-26 12:43:00 +02:00
Martin Kleinschrodt 2ea970b261
Allow selectively disabling all billing functionality on certain platforms (#505)
* Allow selectively disabling all billing functionality on certain platforms

* Remove check for org metadata param in customer

* Fix linter complaint
2022-07-26 10:41:30 +01:00
Martin Kleinschrodt bb690caac3 Remove test clocks 2022-07-25 13:42:56 +02:00
Martin Kleinschrodt 6e159718b1 Fix path parsing in case stripe server is hosted on a subpath 2022-07-25 08:45:08 +02:00
Martin Kleinschrodt bf4ca0e086 Update naming of notes and totp features 2022-07-18 14:58:48 +02:00
Martin Kleinschrodt 50aaa3840e Richtext notes are now a premium feature 2022-07-18 08:32:34 +02:00
Martin Kleinschrodt 23d524127c Change minimum seats for team plan to 2 2022-07-15 10:31:51 +02:00
Martin Kleinschrodt 8015f797c8 Totp field now requires premium 2022-07-15 10:29:38 +02:00
Martin Kleinschrodt 5d6eec9067 Quote minimum "package" price (5 seats) for family plan to avoid confusion 2022-07-15 10:26:34 +02:00
Martin Kleinschrodt bcbbff53ee Make sure postgres `tlsRejectUnauthorized` setting is parsed as boolean 2022-07-01 16:37:21 +02:00
Bruno Bernardino 5273c9b749
Sanitize email HTML to prevent XSS (#478)
* Sanitize email HTML to prevent XSS

Fixes #457

* Replace dompurify with isomorphic-dompurify as per https://github.com/cure53/DOMPurify/issues/29

* Switch to dompurify and make it work server-side on our own.
2022-06-22 11:17:40 +01:00
Bruno Bernardino 071589087b
Fix default TLS Config for PostgreSQL
Fixes #459
2022-06-20 12:46:02 +01:00
Martin Kleinschrodt 40ce39ecc9 Allow hiding/disable directory sync feature via provisioning layer. Make directory sync available only in the business plan. 2022-06-09 14:34:17 +02:00
Martin Kleinschrodt 44d5cc07d0 Merge branch 'v4' into feature/scim-v1
* v4:
  Remove trailing slash from config URLs
  Increase timeout in e2e v3 compatibility tests to prevent intermittent fails
  Update vault revision when changing name or other meta data to make sure clients pull the updated version Fixes #427
  Rename components
  Fix performance problem caused by trying to calculate strength of very long passwords
  Properly integrate security check feature into provisioning system, allowing to hide/disable it.
  Add missing properties in AccountProvisioning and OrgProvisioning classes (forgot to commit earlier)
  Allow disabling security checks
  Update logo and icon

# Conflicts:
#	packages/core/src/util.ts
2022-05-16 16:37:43 +02:00
Martin Kleinschrodt c212dc6669 Remove explicit group and user urls from scim settings 2022-05-16 16:21:05 +02:00
Martin Kleinschrodt 55aa35ea14 Save account provisioning after updating status 2022-05-16 14:08:57 +02:00
Martin Kleinschrodt 74add0f8c5 Implement suggested syntax change 2022-05-16 10:49:31 +02:00
Martin Kleinschrodt ca72b1c87f Fix default provisioning values not being properly set in DirectoryProvisioner 2022-05-15 18:23:41 +02:00
Martin Kleinschrodt 57c0031036 Eliminate a bunch more reused code 2022-05-15 18:17:42 +02:00
Martin Kleinschrodt a7513f62c0 Properly handle non-existent org id; DRY up error handling 2022-05-15 18:12:34 +02:00
Martin Kleinschrodt 1e4a933173 Improve GET endpoint 2022-05-15 17:47:23 +02:00
Martin Kleinschrodt 2d4ca3b29d Fix type errors 2022-05-13 15:31:39 +02:00
Martin Kleinschrodt d362f01bbe Add proper handling of default provisioning status, message etc. 2022-05-13 15:17:18 +02:00
Bruno Bernardino 905802acc5
Add docs and minor tweaks. 2022-05-12 14:52:05 +01:00
Bruno Bernardino b69792ab48
Fix typo 2022-05-11 17:27:51 +01:00
Bruno Bernardino 28cdf116d0
Finish testing with Users and Groups for Azure AD.
This fixes + improves GET, basically, to support all that's necessary for AD to properly fetch, compare, and update users and groups.
2022-05-11 16:06:15 +01:00
Bruno Bernardino 5ab73f979c
Add logic to support Azure AD.
Add GET for Azure AD's test connection
Add Authorization Bearer secret token support
Add support for the single SCIM tenant/root endpoint

User provisioning working in Azure AD!
2022-05-10 15:54:36 +01:00
Martin Kleinschrodt dd42011f52 Properly integrate security check feature into provisioning system, allowing to hide/disable it. 2022-05-10 14:47:49 +02:00
Bruno Bernardino d5be77d9b2
Reworked + Fixed Users and Groups CRUD, and it's fully functional
Includes fully server-generated SCIM URLs, having the orgId in the path instead of search params, and properly adding/removing members.
2022-05-09 16:31:04 +01:00
Martin Kleinschrodt 00b33e801e
Use different strategy for dealing with scim resources: (#446)
* Use different strategy for dealing with scim resources:

- Store "virtual" scim-based representation of org in provisioning profile
- Assign random ids to all scim resources
- use "virtual" scim model to resolve ids and track changes

* Set propery meta data in scim resources; add missing calls to _saveScimOrg

* Fix incorrect parsing of group ids
2022-05-09 12:47:34 +01:00
Bruno Bernardino 7ff597a19e
Implement Group PATCHing (including adding and removing members).
Right now removing a member isn't persisting, though the group is correctly changed.
2022-05-06 17:17:16 +01:00
Bruno Bernardino 5102be1785
Implement proper Group Create and Delete 2022-05-05 16:24:36 +01:00
Bruno Bernardino fbd496cc97
Finish CRUD for user matching the proper spec (with operations), and "stable" id. 2022-05-04 16:25:33 +01:00
Bruno Bernardino ec9f7e6dd6
Update endpoints to support proper emails property and <id> in URL
User Create and Delete + Group Create are now working, and returning proper data.
2022-05-03 17:46:31 +01:00
Bruno Bernardino 8786f86c4d
Remove externalId need, implement group POST, add comments based on spec/research findings 2022-05-02 16:48:09 +01:00
Bruno Bernardino 4d77a52a4f
Properly remove auth invites when deleting a user + save SCIM URL
The SCIM URL piece is still WIP, because I'll need to get the proper host, or create a new config variable for it.
2022-04-26 15:50:29 +01:00
Bruno Bernardino 97dbe3b394
Fix duplicate user adding, patch, post, and add delete.
This "finishes" the SCIM CRUD for Users.
2022-04-25 15:44:14 +01:00
Bruno Bernardino 42dd4747ee
Change storage to server for directory sync, test further, still not working. 2022-04-19 15:06:20 +01:00
Bruno Bernardino 49e6228670
Actually create the org member (it's not persisting it yet, though) 2022-04-18 16:13:03 +01:00
Bruno Bernardino d74039b2ba
Properly save directory settings (SCIM doesn't save) and start implementing user update. 2022-04-18 15:00:16 +01:00
Bruno Bernardino aefd78153e
Add org settings for enabling/disabling directory sync, fix initializiation 2022-04-18 12:15:57 +01:00
Martin Kleinschrodt 531725e428 Bring Stripe provisioner in line with model changes 2022-04-17 11:37:34 +02:00
Martin Kleinschrodt ea73ac320e Add directory config 2022-04-17 10:26:02 +02:00
Martin Kleinschrodt b389c6c7a2 Separate concerns into directory sync (adding/removing members and groups to organisations) and directory provisioning (provisioning/whitelisting users), both serviced by directory providers (e.g. scim). 2022-04-17 09:25:05 +02:00