This repository has been archived by the owner on Apr 19, 2023. It is now read-only.
v3.0.0
v3.0.0 (2020-11-08)
✨ New features
47ceb5bc
Add support for login links161b2643
Add endpoint for password detailsef5654db
Ship Casbin-powered permissions (fixed #337)
(Issues:#337
)-872559c6
Add user access token scopes endpoint5225c309
Add API scopes endpoint8de94323
Add gender prediction APIe9baebd9
Auto-fill country, timezonecbb355ee
Add Sentryff44de69
Add support for disabling billingb248d84c
Add new user registrations check54774f25
Add newUserRegistrationDomains checkd6beaf83
Add Prisma CRUD endpointsb1074976
Add pipes for optional int, order by6b732e2a
Add support for cursor6d43fcfe
Use DTO in PATCH methodc9f03df3
Add auth module with registerc9291532
Add registration with email conflict checkb311e5af
Add common configuration7b6902d8
Render and send emails9fe994d3
Add HTML email layouta7979c22
Add resend email verification endpoint3b4a4680
Add authentication5abd4987
Add refresh token endpointd1e9e252
Add scope authorization in Guard93d82e1c
Expose data by removing secrets0e7c8b20
Add session endpoints8233d52a
Add endpoints for access tokens276c95a3
Add endpoints for user membershipsf7082e0f
Add emails module818ad11a
Add groups endpoints26c0c0ef
Add group membership controllera642b7ea
Support creating groups, memberships183b6749
Add Pwned module21a7cb4f
Add support for password change, refactor authd99de49c
Add scheduler to delete sessionsb3ec3fc4
Add helmet for security754495e1
Add OpenAPI docse3628898
Add tokens module, 2FA9aaee67a
Add logout endpointcee3a55c
Add 2FA enable/disable endpointsf8f47f29
Add password forgot/reset339a29da
Add verify emails endpointe4e78e1d
Add approved subnets endpointsb3f60938
Add geolocation service2c892e83
Add approve subnet endpoint0f219cdc
Add support for MFA when logging ine314375b
Login with email token endpoints8c7f926b
Send membership welcome email9857fbc5
Support logging in backup codef1337775
Add group API keys module62ee163d
Add basic Stripe module0dc4b422
Add Stripe invoices endpointsec9ec37b
Add Twilio modulece710401
Add SMS MFA OTPb147b685
Add email MFAf39eddac
Add Stripe sources endpoints74df85c2
Add API key scopes2a8170f1
Add domain module59a4a7cb
Add DNS modulee160f8ef
Add HTML domain verification9da99653
Add subscription endpoints7506cb20
Handle Stripe webhook event049e3eb0
Add audit logs module36bda486
Create audit log47869cdd
Add webhooks module53ebb4a8
Trigger webhooks on audit log8a5c0152
Implement LRU for API keysbf9976d8
Add API key users controllers7c35bd21
Serve static filescbc8034c
Add support for merging users (fixed #950)
(Issues:#950
)-727b6112
Add SMS-based MFA method
♻️ Updates
3dadf22f
Change snake to camel casee7ab0eb7
Change organization to group5cd080ea
Update organization group9691e797
Update user service referencesdd86fb40
Update orgefbc78f9
Organize imports, update user restcabd9e13
Make login password optional8b2e8e12
Use object param for mail6b09c3e3
Allow all attributes in mail4dc4bf69
Update helpers91ac3cc6
Use TWT instead of username3f3ccf14
Use number for ID, not string8cae2670
Remove fallback from TWT0efe1c8f
Use number instead of string in ID1a7a1181
Use number IDs in controllers170ba999
Add login link token to email5edf233a
Use number ID for user, validate numbera3535905
Use number for org ID2c201062
Use TWT for IDse70fa98c
Use TWT of length 108327891f
Support all id-like keys with TWTbba4a39a
Allow empty passwordsae0022b9
Add decode TWT function5a6fa2e7
Use string for ID validation08a2c53a
Use Joi.number() for ID8c90ee64
use take in restd598a1f1
Use any for res.locals9558c36d
Use take in Prisma905e0181
Use new authorization helper in user.ts9301944a
Add Casbin admin scopes02799be5
Use new authorization can in group, auth28b0b142
Change params to subject, action, objectcd1fb73e
Remove expiry from access tokensfefcdba2
Move access token scopes to security2a75733f
Use constants in policy13490a14
Update delete casbin policies3fac6c93
Remove username validation63577fad
Change API key, access token length to 32629b7aac
Update group ID as attribute1e040a76
Change stripeCustomerId to stripeCustomer9b760e1d
Skip test for Stripecd433d17
Make tracking optionald83146ce
Check tracking config before ES0f300e3b
Move some config from file733f923d
Use config helpr instead of importsb4c6176d
Use email config with Nodemailer interface34eb080f
Use session UUID as refresh token527ab9a3
Get user ID, scopes in JWT strategy3e259b43
Use access toke ngenerator abstraction6a31e886
Use local scope guards (https://stackoverflow.com/a/50801832/1656944)d30ce2fa
Use session ID as param959dc7b8
Use global guards, @public decoratorbe84f02f
Use new scope structure915c5ae6
Send email not verified exception messageb7cf9f39
Hash passwords, ensure uncompromised62d6ae04
Use prisma directly not authServicef7697ebd
Use safe email helper75fc733f
Lowercase, remove plus from emaile69cc370
Use import instead of import type750eb880
Change 2fa to totp0857ae77
Use auth module-scoped constants3fb490fa
Change approved location -> approved subnetfe973961
Hash approved subnetsd0bb693c
Add cache to geolocationd9899226
Store geolocation in approved subnets24afea03
Approve new subnets in auth63bac411
Allow adding team members without nameffd8fdf8
Generate/regenerate backup codes in 2FAe3349735
Add email verification templated4c10d29
Add create/delete/replace customer endpoint560c03ac
Allow uppercase sorting6c2897da
Use relative import paths170bc5de
Use .env data in configuration20d8cebb
Change twoFactorEnabled -> twoFactorMethodb5d94ce7
Use TokensService for UUIDb490af16
Update scopes in controllers3253de5b
Normalize domain URLc401a330
Normalize +, . in emailsc0b928a8
Use raw/JSON middlewarec797457b
Change auth controller login routesaa80db1b
Use constant for login token suba39009b7
Add membership module to app27066a69
Add pretty profile pictures for domain, group, user86a456d1
Add ID to auth token43e85967
Use Gravatar as user profile picture5a1cb701
Add audit log decorators on controller74705d67
Add webhook scopes to API key6c546cfa
Add webhook scopes endpoint89af8027
Add group/user methods in API kesc84bccba
Add API key scopes for user24f0d246
Only allow clean, secure scopes in API keysb32c5af3
Use custom JWT strategy49ed4a47
Support referrer restrictions in API keyse24b26d0
Check IP address restrictions in API keys269d1f17
Rename jwt -> staart in auth500534bf
Use user object in auth objects149651c2
Use service name in loggers8ac6f7f3
Send response time headers8e248ffa
Don't use native errors402ce140
Don't use HttpExceptiona7ee700f
Use error constants91aba2e3
Add constants errors in pipesd0e58468
Add descriptions for errors52e5de85
Add global controller prefix
🐛 Bug fixes
cf4a8fd7
Wait for token to be generated128d995b
Use Tokens.LOGIN_LINK to verify JWT661bf6d0
Use string for userId in TWT75fc64fc
Use take instead of first97b21181
Use TWT in local to token780e7d6b
Use where with ID keyaea4d9f0
Use numbers not TWTs in controllersb3f2f9bc
Use string adapter for casbin model294a5682
Use integer IDs, not TWTs, in casbin policy14f3182e
Change scopes type in access token, API key17f07562
Make sure user has a verified emaildc67971e
Only allow admin, member roles in teams4d070cf1
Create memberships manually27baa6ec
Allow prefers email ID3a0f0c4d
Change profilePicture to Url suffix87c9b13e
Fix stripe customer ID keyd3c8c255
Change imports to config5e6d6918
Make keys in DTO optionalf27c6b9d
Ensure result exists before accessing usera166eaa1
Fix use authentication in class9cdea097
Specify IP address when adding member, add module97096b3f
Use object payload for JWT99f9058d
Fix registration, location10a4b3c0
Fix password hash in Pwned087701ea
Use module imports, not servicefb46eeb4
Import StripeModulef883155b
Move scopes endpoint to tope2541a16
Add ConfigModule to ApiKeysModule
🔒 Security issues
⬆️ Dependency updates
5693784b
Update @staart/redisc38e0464
Update @staart/redis to v2.3.0b9e775fd
Update @staart/scripts to v1.17.0713dc5af
Update @staart/payments to v4.0.059f2ec6b
Update @prisma to v2.4.16e121dc5
Update twt to v1.2.071f81595
Update cosmic to v1.0.1517fd0d1
Update @staart/scripts to v1.18.09bf7fcb5
Update staart/scripts to v1.18.151c8f8e8
Update @staart/elasticsearch to v2.2.40edb1ad5
Update @staart/scripts to v1.18.2114e200d
Update @sentry/node, @staart/scripts34242e21
Update update-template to v1.1.21262a0ff
Update all dependencies5f48cf67
Update all dependencies
💥 Breaking changes
ec11d6f2
Add v3