Skip to content

feat: Adds support for multitenancy #555

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 190 commits into from
Jun 2, 2023
Merged
Show file tree
Hide file tree
Changes from 189 commits
Commits
Show all changes
190 commits
Select commit Hold shift + click to select a range
ed729ef
adds connection uri and tenant id based resource distributor
rishabhpoddar Jan 13, 2023
10afc48
removes unnecessary file
rishabhpoddar Jan 13, 2023
65012d9
adds a bunch of todos
rishabhpoddar Jan 13, 2023
737563e
adds storage layer function and also laod all configs function
rishabhpoddar Jan 16, 2023
19aade1
implements core config merging across tenants
rishabhpoddar Jan 16, 2023
7ed1b8c
restructures code related to config checking in core
rishabhpoddar Jan 19, 2023
5723ba1
changes storage layer to take json instead of config file path
rishabhpoddar Jan 19, 2023
3ef6397
small refactor
rishabhpoddar Jan 19, 2023
650cffe
adds ability to create new storage instances on the fly
rishabhpoddar Jan 19, 2023
1af722e
in mem db function impl for user pool ID and config conflict checking
rishabhpoddar Jan 19, 2023
b552ff8
small change
rishabhpoddar Jan 19, 2023
67382e5
adds checks for conflicting core configs
rishabhpoddar Jan 20, 2023
76d7492
adds a few tests for multi tenant config
rishabhpoddar Jan 21, 2023
2ac6616
adds more tests
rishabhpoddar Jan 23, 2023
1b0d182
more tests
rishabhpoddar Jan 23, 2023
ba2923b
adds function to get connection pool ID
rishabhpoddar Jan 23, 2023
40ad561
adds skeleton for loading storage layers for tenants
rishabhpoddar Jan 23, 2023
cb6e6d8
fixes compile error
rishabhpoddar Jan 23, 2023
579056b
adds code to load multiple storage layers as well
rishabhpoddar Jan 23, 2023
7c37142
deletes info across all tenants during testing
rishabhpoddar Jan 24, 2023
392a8b0
adds one test for storage layer
rishabhpoddar Jan 24, 2023
1f35011
fixes a test
rishabhpoddar Jan 24, 2023
079ed01
fixes bug in setting resource in resource distributor
rishabhpoddar Jan 24, 2023
c69ca66
fixes bugs
rishabhpoddar Jan 24, 2023
5c2000d
loads signing keys for all tenants
rishabhpoddar Jan 27, 2023
0fcaf35
fixes bug
rishabhpoddar Jan 28, 2023
980f6c3
adds new test and modifies the testing kill process to clear database…
rishabhpoddar Jan 28, 2023
2280002
implements more test
rishabhpoddar Jan 29, 2023
3cc9229
small change to formatting
rishabhpoddar Jan 29, 2023
a0ffc14
small change to formatting
rishabhpoddar Jan 29, 2023
f486e87
modifies cron jobs to run per unique user pool ID
rishabhpoddar Jan 30, 2023
04da733
fixes a few bugs
rishabhpoddar Jan 30, 2023
e25e77b
disallows different argon2 pool size across tenants
rishabhpoddar Jan 30, 2023
880efa6
changes server api key check to be based on connection uri as well
rishabhpoddar Jan 30, 2023
c5fd6af
adds function for getTenantId
rishabhpoddar Jan 30, 2023
3473ca1
modfies delete user API as well
rishabhpoddar Jan 30, 2023
a21a797
makes tests compile
rishabhpoddar Jan 30, 2023
60183b1
marked getStorageLayer older version as testonly
rishabhpoddar Jan 31, 2023
7cc2b2a
fixes a few tests
rishabhpoddar Jan 31, 2023
cca497b
removes unused storage layer when loading them for all tenants
rishabhpoddar Jan 31, 2023
22e0558
makes storagelayer.getAuthRecipeStorage testonly
rishabhpoddar Jan 31, 2023
4b22901
makes storagelayer.getSession testonly
rishabhpoddar Jan 31, 2023
8c2b129
makes storagelayer.getEmailPasswordStorage testonly
rishabhpoddar Jan 31, 2023
0d09a2f
makes storagelayer.getEmailVerificationStorage testonly
rishabhpoddar Jan 31, 2023
a9e64cd
makes storagelayer.getThirdPartyStorage testonly
rishabhpoddar Feb 1, 2023
cad8f0e
makes storagelayer.getPasswordlessStorage testonly
rishabhpoddar Feb 1, 2023
b3b985f
more updates to storage layer functions and reciope
rishabhpoddar Feb 1, 2023
d0254c3
completes all storage layer function changes
rishabhpoddar Feb 1, 2023
a13bc0f
makes Config.getConfig testonly
rishabhpoddar Feb 1, 2023
be3c07d
implements custom routing class for api requests
rishabhpoddar Feb 2, 2023
5f9386c
fixes a few bugs
rishabhpoddar Feb 2, 2023
00b6623
adds test cases
rishabhpoddar Feb 2, 2023
5a3af02
adds tenant not found logic
rishabhpoddar Feb 2, 2023
d59f2ce
adds new exception
rishabhpoddar Feb 2, 2023
f5ef883
fixes all tests
rishabhpoddar Feb 3, 2023
3ed429e
removes unnecessary exception catching
rishabhpoddar Feb 3, 2023
72d0c6a
fixes bug
rishabhpoddar Feb 3, 2023
d6ce9c9
adds test for path router
rishabhpoddar Feb 3, 2023
37d3545
adds more tests
rishabhpoddar Feb 3, 2023
07a6872
adds more tests
rishabhpoddar Feb 4, 2023
b6a9a5f
adds more tests
rishabhpoddar Feb 4, 2023
2f84fa7
changes defaulttenantid to public
rishabhpoddar Feb 5, 2023
10e8bf3
adds appId as a identifier for a unique tenant
rishabhpoddar Feb 5, 2023
fcb6f46
adds extracting appId from request path
rishabhpoddar Feb 6, 2023
5dd7758
small change
rishabhpoddar Feb 6, 2023
bece81e
fixes bug with extarcting tenantid with appid
rishabhpoddar Feb 6, 2023
0478a11
fixes bug
rishabhpoddar Feb 6, 2023
3998dc5
adds more tests
rishabhpoddar Feb 6, 2023
008bb05
starts working on multitenancy class and utils functions
rishabhpoddar Feb 6, 2023
9aa00ea
more changes to multitenancy file
rishabhpoddar Feb 6, 2023
5e7fb35
fixes a bug
rishabhpoddar Feb 6, 2023
6c694d8
small change
rishabhpoddar Feb 6, 2023
d0de2ab
ads crud functions for multi tenancy
rishabhpoddar Feb 7, 2023
65d281f
changes to use of quiteprogramexception from in mem db
rishabhpoddar Feb 7, 2023
7a0a463
adds skeleton for multitenancy functions in in mem db
rishabhpoddar Feb 7, 2023
5b42380
adds a few todos
rishabhpoddar Feb 7, 2023
d649a35
small change
rishabhpoddar Feb 7, 2023
16cde70
small change
rishabhpoddar Feb 8, 2023
393eb73
adds more functions to multi tenancy impl
rishabhpoddar Feb 8, 2023
39c6f9a
adds multi tenancy functions to delete and get info
rishabhpoddar Feb 9, 2023
24409dc
fixes tests
rishabhpoddar Feb 9, 2023
2e4e778
adds a few exception cases
rishabhpoddar Feb 9, 2023
420bc89
updates exception import
rishabhpoddar Feb 9, 2023
fc8e0bd
small change to make debugging easier
rishabhpoddar Feb 9, 2023
de0857f
fixes logging related issue in test
rishabhpoddar Feb 9, 2023
2cbf3d3
checks for permission when creating a new app
rishabhpoddar Feb 10, 2023
e6971e8
simplifies delete of app and connectionuridomain
rishabhpoddar Feb 10, 2023
8b7c1d9
adds sync to respirce distributor
rishabhpoddar Feb 10, 2023
6d44933
small change
rishabhpoddar Feb 10, 2023
5e71bcc
small changes
rishabhpoddar Feb 11, 2023
4e68a65
checks if multi tenancy is enabled in license key during tenant creation
rishabhpoddar Feb 11, 2023
17b673d
adds FeatureNotEnabledException exception
rishabhpoddar Feb 11, 2023
075c3ea
small refactor
rishabhpoddar Feb 12, 2023
ca9e05d
fixes deadlock condition
rishabhpoddar Feb 12, 2023
2d9c45c
fixes in memory db issue
rishabhpoddar Feb 12, 2023
51d8935
does deep equals in tenant refresh function
rishabhpoddar Feb 12, 2023
db79ae4
small change
rishabhpoddar Feb 12, 2023
a3506d6
adds more checks when adding or updating a tenant
rishabhpoddar Feb 13, 2023
70f813b
adds tenantIdentifier for emailpassword and useridmapping recipes
rishabhpoddar Feb 13, 2023
dc8ce7b
enforces unique user pool id per connectionuridomain
rishabhpoddar Feb 13, 2023
2fa639a
small bug fix for refreshing cronjobs
rishabhpoddar Feb 13, 2023
0f0a056
makes cronjob run per user pool, but pass list of tenants within that…
rishabhpoddar Feb 13, 2023
6b7c101
changes to incorporate tenantIndetifier for key value storage
rishabhpoddar Feb 14, 2023
40aa1cd
changes to session receipe to add tenantIdentifier
rishabhpoddar Feb 14, 2023
9c8df63
adds a todo
rishabhpoddar Feb 15, 2023
4e67acd
introduces the concept of appIdentifier vs tenantIdentifier
rishabhpoddar Feb 15, 2023
9884599
fixes test compilation issues
rishabhpoddar Feb 15, 2023
75b8368
fixes bugs from existing tests
rishabhpoddar Feb 15, 2023
9647521
adds appidentifier to user metadata functions
rishabhpoddar Feb 15, 2023
b2ceb7b
modifes user roles functions to add tenantidentifier and appidentifiers
rishabhpoddar Feb 15, 2023
2fa1545
small refactor
rishabhpoddar Feb 15, 2023
dd28dd2
modifies session recipe to add tenantId as part of the access token a…
rishabhpoddar Feb 16, 2023
809bbec
small change
rishabhpoddar Feb 16, 2023
5da2469
fixes a bug
rishabhpoddar Feb 16, 2023
99cfe56
modifies emailpassword functions
rishabhpoddar Feb 16, 2023
408a23b
changes to a few functions
rishabhpoddar Feb 17, 2023
fb49caf
adds appidentifier to email verfication
rishabhpoddar Feb 17, 2023
50a7588
adds tenant identifier to third party
rishabhpoddar Feb 17, 2023
d30c7a7
adds tenantidentifier to passwordless
rishabhpoddar Feb 17, 2023
0a25a6f
changes how tenant configs are checked
rishabhpoddar Feb 18, 2023
15878a2
fixes tests
rishabhpoddar Feb 18, 2023
2f9bf4c
Merge branch '4.3' into multi-tenant-config
rishabhpoddar Feb 19, 2023
06af9d1
small bug fixes
rishabhpoddar Feb 20, 2023
cd15057
fix: config tests (#568)
sattvikc Feb 24, 2023
998845b
fix: new exceptions and tests (#573)
sattvikc Mar 3, 2023
0fce90f
merges with latest
rishabhpoddar Mar 5, 2023
191eec3
merges with latest
rishabhpoddar Mar 9, 2023
4b83b04
Merge branch '4.4' into multi-tenant-config
rishabhpoddar Mar 18, 2023
8ab4dbe
makes telemetry and feature flag multi tenant as well - per app
rishabhpoddar Mar 18, 2023
e0e89cc
refactors crontask to be better suited for multi tenancy
rishabhpoddar Mar 19, 2023
ac90e8d
fix: Email password and user id mapping multi tenancy changes (#580)
sattvikc Mar 27, 2023
209075b
fixes test
rishabhpoddar Mar 27, 2023
9995ce0
fix: Multitenant userroles (#600)
sattvikc Mar 28, 2023
4f1018d
fix: Multitenant usermetadata (#605)
sattvikc Mar 29, 2023
28d139b
fix: emailpassword storage (#607)
sattvikc Mar 29, 2023
477617c
fix: uid mapping storage (#608)
sattvikc Mar 29, 2023
92ae0eb
fix: multitenant ep tests (#609)
sattvikc Mar 29, 2023
75e35bd
fix: Multitenant user id mapping tests (#611)
sattvikc Mar 30, 2023
2e936a7
fix: Multitenant API, storage and tests (#614)
sattvikc Mar 31, 2023
0b200e8
fix: Multitenant thirdparty API, storage and tests (#616)
sattvikc Apr 3, 2023
b435ae7
fix: Multitenant emailverification (#618)
sattvikc Apr 3, 2023
05e052e
fix: Multitenant session (#619)
sattvikc Apr 5, 2023
faa751e
merges with latest (#622)
rishabhpoddar Apr 5, 2023
6ae2c09
several fixes
rishabhpoddar Apr 6, 2023
7e9b5db
fix: Multitenant jwt (#629)
sattvikc Apr 6, 2023
2351148
fix: Multitenant Auth Recipe (#633)
sattvikc Apr 10, 2023
3c2f6aa
fix: Multitenant dashboard (#636)
sattvikc Apr 10, 2023
16938d4
fix: Multitenant totp (#637)
sattvikc Apr 11, 2023
e618b57
merges (#638)
rishabhpoddar Apr 13, 2023
2893edc
adds new config (#639)
rishabhpoddar Apr 18, 2023
fb9d2e0
makes test more reliable
rishabhpoddar Apr 18, 2023
6637bac
removes unnecessary deprecated annotation (#640)
rishabhpoddar Apr 18, 2023
680f8bb
fix: multitenancy changes (#641)
sattvikc Apr 24, 2023
56654d0
fix: Misc changes (#645)
sattvikc Apr 24, 2023
4b1b040
fix: Tenantid logging (#646)
sattvikc Apr 25, 2023
04eaf12
fix: Rate limiting hello (#647)
sattvikc Apr 25, 2023
a9ef7cd
fix: multitenancy stats (#649)
sattvikc Apr 26, 2023
8343f62
fix: Tenantid in userobjects (#650)
sattvikc Apr 27, 2023
88fa059
fix: Ip filter per tenant (#652)
sattvikc Apr 28, 2023
d61b9d6
fix: updated console log (#653)
sattvikc Apr 28, 2023
3e51187
fix: API key per app (#654)
sattvikc Apr 28, 2023
5dde394
fix: Startup log (#655)
sattvikc Apr 28, 2023
f4aa012
fix: License tests (#656)
sattvikc May 1, 2023
5892703
test: Config normalisation test (#658)
sattvikc May 1, 2023
ff08fbb
fix: delete non auth user in deleteUserIdFromTenantId (#659)
sattvikc May 4, 2023
857d8bb
fix: thirdparty related tests (#661)
sattvikc May 4, 2023
44f8cd2
fix: Config validation (#662)
sattvikc May 4, 2023
8681f4b
fix: config per tenant, per app annotations and validation (#666)
sattvikc May 5, 2023
e603db2
fix: pagination test (#667)
sattvikc May 5, 2023
533a4e1
fix: added version check for multitenant apis (#669)
sattvikc May 8, 2023
bd49eb0
fix: clean up init keys (#670)
sattvikc May 8, 2023
8ef3d69
fix: removed isTesting check in prod code (#671)
sattvikc May 9, 2023
21dafb1
fix: resource reloading (#673)
sattvikc May 12, 2023
43e0847
fix: fixed missing log (#678)
sattvikc May 15, 2023
5dbf1d2
Merge branch '5.0' into multi-tenant-config
sattvikc May 16, 2023
e22efee
fix: merge issues (#680)
sattvikc May 16, 2023
a01f0f0
fix: session v4 (#683)
sattvikc May 22, 2023
83ea154
fix: Postgres migration (#685)
sattvikc May 23, 2023
dcf11c2
fix: fixed tests for active user storage (#686)
sattvikc May 25, 2023
442e83c
refactor: Add email to the response of Dashboard verify session API (…
nkshah2 May 29, 2023
c9f7fd8
fix: Inmemory plugin (#693)
sattvikc Jun 1, 2023
2f13cb2
fix: version update
sattvikc Jun 2, 2023
08f1d4b
fix: version update
sattvikc Jun 2, 2023
5d95e28
fix: jar
sattvikc Jun 2, 2023
91907e1
fix: update version
sattvikc Jun 2, 2023
39c1505
fix: CDI version update
sattvikc Jun 2, 2023
6290290
fix: mongo plugin (#694)
sattvikc Jun 2, 2023
9b47427
fix: added date
sattvikc Jun 2, 2023
41ab685
fix: added date
sattvikc Jun 2, 2023
9867ef9
Update coreDriverInterfaceSupported.json
rishabhpoddar Jun 2, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ highlighting the necessary changes)
- [ ] Had installed and ran the pre-commit hook
- [ ] If there are new dependencies that have been added in `build.gradle`, please make sure to add them
in `implementationDependencies.json`.
- [ ] Update function `getValidFields` in `io/supertokens/config/CoreConfig.java` if new aliases were added for any core config (similar to the `access_token_signing_key_update_interval` config alias).
- [ ] Issue this PR against the latest non released version branch.
- To know which one it is, run find the latest released tag (`git tag`) in the format `vX.Y.Z`, and then find the
latest branch (`git branch --all`) whose `X.Y` is greater than the latest released tag.
Expand Down
Loading