Commit graph

38 commits

Author SHA1 Message Date
Miguel Nieto A
73de0c2185
Fix signup query (#1608)
* Remove emailVerified not null from query

* Improve query to find existing user

* Add test suite to Signup from a Team Invite

* Allow importing modules with aliases

* Delete created data after all tests

* Resolve conflicts

* Use teampro instead of pro user and refactor code
2022-01-26 16:56:22 +00:00
Deepak Prabhakara
e0a923979a
fixed issue with mixed up Google login, profile.id is undefined and this is causing the first record to be retrieved instead of the AND query failing (#1569)
(cherry picked from commit 4f168616e7b7a0a03b979b434b4aa20c7b612cb0)
2022-01-19 18:24:00 -07:00
Deepak Prabhakara
1a20b0a0c6
Add log in with Google and SAML (#1192)
* Add log in with Google

* Fix merge conflicts

* Merge branch 'main' into feature/copy-add-identity-provider

# Conflicts:
#	pages/api/auth/[...nextauth].tsx
#	pages/api/auth/forgot-password.ts
#	pages/settings/security.tsx
#	prisma/schema.prisma
#	public/static/locales/en/common.json

* WIP: SAML login

* fixed login

* fixed verified_email check for Google

* tweaks to padding

* added BoxyHQ SAML service to local docker-compose

* identityProvider is missing from the select clause

* user may be undefined

* fix for yarn build

* Added SAML configuration to Settings -> Security page

* UI tweaks

* get saml login flag from the server

* UI tweaks

* moved SAMLConfiguration to a component in ee

* updated saml migration date

* fixed merge conflict

* fixed merge conflict

* lint fixes

* check-types fixes

* check-types fixes

* fixed type errors

* updated docker image for SAML Jackson

* added api keys config

* added default values for SAML_TENANT_ID and SAML_PRODUCT_ID

* - move all env vars related to saml into a separate file for easy access
- added SAML_ADMINS comma separated list of emails that will be able to configure the SAML metadata

* cleanup after merging main

* revert mistake during merge

* revert mistake during merge

* set info text to indicate SAML has been configured.

* tweaks to text

* tweaks to text

* i18n text

* i18n text

* tweak

* use a separate db for saml to avoid Prisma schema being out of sync

* use separate docker-compose file for saml

* padding tweak

* Prepare for implementing SAML login for the hosted solution

* WIP: Support for SAML in the hosted solution

* teams view has changed, adjusting saml changes accordingly

* enabled SAML only for PRO plan

* if user was invited and signs in via saml/google then update the user record

* WIP: embed saml lib

* 302 instead of 307

* no separate docker-compose file for saml

* - ogs cleanup
- type fixes

* fixed types for jackson

* cleaned up cors, not needed by the oauth flow

* updated jackson to support encryption at rest

* updated saml-jackson lib

* allow only the required http methods

* fixed issue with latest merge with main

* - Added instructions for deploying SAML support
- Tweaked SAML audience identifier

* fixed check for hosted Cal instance

* Added a new route to initiate Google and SAML login flows

* updated saml-jackson lib (node engine version is now 14.x or above)

* moved SAML instructions from Google Docs to a docs file

* moved randomString to lib

* comment SAML_DATABASE_URL and SAML_ADMINS in .env.example so that default is SAML off.

* fixed path to randomString

* updated @boxyhq/saml-jackson to v0.3.0

* fixed TS errors

* tweaked SAML config UI

* fixed types

* added e2e test for Google login

* setup secrets for Google login test

* test for OAuth login buttons (Google and SAML)

* enabled saml for the test

* added test for SAML config UI

* fixed nextauth import

* use pkce flow

* tweaked NextAuth config for saml

* updated saml-jackson

* added ability to delete SAML configuration

* SAML variables explainers and refactoring

* Prevents constant collision

* Var name changes

* Env explainers

* better validation for email

Co-authored-by: Omar López <zomars@me.com>

* enabled GOOGLE_API_CREDENTIALS in e2e tests (Github Actions secret)

* cleanup (will create an issue to handle forgot password for Google and SAML identities)

Co-authored-by: Chris <76668588+bytesbuffer@users.noreply.github.com>
Co-authored-by: Omar López <zomars@me.com>
2022-01-13 20:05:23 +00:00
Omar López
84d75cf693
Upgrades next-auth to v4 (#1185)
* Upgrades next-auth to v4

* Fixes next-auth session types

* Type fixes

* Fixes login issue

* Team page fixes

* Type fixes

* Fixes secret

* Adds test for forgotten password

* Skips if pw secret is undefined

* Prevents error if PW secret is undefined

* Adds PLAYWRIGHT_SECRET explainer

* Adds pending auth TODOs

* Adds missing secret

* Fixed imports

* Fixed imports

* Type fixes

* Test fixes

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-07 20:23:37 +00:00
Alex van Andel
9d7dc09974
Use the matched user email to send the password reset to (#1366) 2021-12-21 18:31:32 +01:00
Omar López
7bc7b241ac
Zomars/cal 794 normalize emails in db (#1361)
* Email input UX improvements

* Makes email queries case insensitive

* Lowercases all emails

* Type fixes

* Re adds lowercase email to login

* Removes citext dependency

* Updates schema

* Migration fixes

* Added failsafes to team invites

* Team invite improvements

* Deleting the index, lowercasing 

```
calendso=> UPDATE users SET email=LOWER(email);
ERROR:  duplicate key value violates unique constraint "users.email_unique"
DETAIL:  Key (email)=(free@example.com) already exists.
```

vs.

```
calendso=> CREATE UNIQUE INDEX "users.email_unique" ON "users" (email);
ERROR:  could not create unique index "users.email_unique"
DETAIL:  Key (email)=(Free@example.com) is duplicated.
```

I think it'll be easier to rectify for users if they try to run the migrations if the index stays in place.

Co-authored-by: Alex van Andel <me@alexvanandel.com>
2021-12-21 00:59:06 +00:00
Omar López
3bc659af44
Let email case sensitive (#1357) 2021-12-19 21:01:25 +00:00
Mihai C
8322e5c8d1
Emails Revamp (#1201)
* refactor: emails (WIP)

* wip

* wip

* refactor: calendarClient

* chore: remove comment

* feat: new templates

* feat: more templates (wip)

* feat: email templates wip

* feat: email templates wip

* feat: prepare for testing

* For testing stripe integration

* Uses imported BASE_URL

* Fixes types

* use BASE_URL

Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-11-26 11:03:43 +00:00
Alex van Andel
bf659c0b16
Fixed #1015 - Teams user registration is broken (#1090)
* Fixed #1015 - Teams user registration is broken

* Type fixes for avilability form in onboarding

* Re adds missing strings

* Updates user availability in one query

Tested and working correctly

* Fixes seeder and tests

Co-authored-by: Omar López <zomars@me.com>
2021-11-11 05:44:53 +00:00
Mihai C
8d6fec79d3
feat: add translations for emails and type error fixes overall (#994)
* feat: add translations for forgot password email and misc

* fix: type fixes

* feat: translate invitation email

* fix: e2e tests

* fix: lint

* feat: type fixes and i18n for emails

* Merge main

* fix: jest import on server path

* Merge

* fix: playwright tests

* fix: lint

Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-10-25 14:05:21 +01:00
Mihai C
356d470e16
fix: lowercase email on signup (#1039) 2021-10-25 09:29:54 +00:00
Mihai C
1043b31cc7
fix: lowercase email when loggin in (#1038) 2021-10-25 14:25:28 +05:30
Bailey Pumfleet
bb3362f2ef
Add JWT secret to next-auth.js (#730) 2021-09-23 10:02:53 +01:00
Omar López
d194878bb2
Suggestion: let prettier sort imports order (#673)
* Suggestion: let prettier sort imports order

# Conflicts:
#	yarn.lock

* AUTO SORT ALL THE IMPORTS

* Linting

* Fixes test
2021-09-22 13:52:38 -06:00
Conor Meagher
96fd7ecf41
chore: change calendso strings to cal.com (#707)
* chore: change calendso strings to cal.com

* rebase LICENSE

* rebase LICENSE

* strings that were missed

Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-21 10:59:34 +01:00
Chris
c0330acd83
Add two-factor authentication (#692)
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-21 10:29:20 +01:00
Chris
f281c49e76
Remove password reset data from response (#699)
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-19 15:31:45 +01:00
Omar López
f6005b8c70
[CAL-409] Prevents usernames with special characters (#668) 2021-09-18 00:08:02 +01:00
Chris S
13486d9988
Fix issues in multiple endpoints (#679) 2021-09-17 12:25:48 +01:00
Alex van Andel
bc97237858
Remove image from session, add /api/me, update Avatar component (#493)
* Remove image from session, add /api/me, update Avatar component

* Fixed Avatar on Desktop

* Added emailMd5 to session + load md5 from props on /settings/profile

* Explicitly select which fields to expose in /api/me

* Abstracted Gravatar, defaults avatar for /api/me, removed session dep from UserDropdown

* Delete md5.js :)

Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-08-22 14:16:42 +01:00
Alex Johansson
f63aa5d550
add linting in CI + fix lint errors (#473)
* run `yarn lint --fix`

* Revert "Revert "add linting to ci""

This reverts commit 0bbbbee4be.

* Fixed some errors

* remove unused code - not sure why this was here?

* assert env var

* more type fixes

* fix typings og gcal callback - needs testing

* rename `md5.ts` to `md5.js`

it is js.

* fix types

* fix types

* fix lint errors

* fix last lint error

Co-authored-by: Alex van Andel <me@alexvanandel.com>
2021-08-19 14:27:01 +02:00
Alex Johansson
aed9757409
fix bad auth commit (#487) 2021-08-18 12:15:22 +00:00
Alex Johansson
a0a0ec86f0
add type-safe getSession() (#486)
* fix types for auth
* implement safer to use `getSession`
2021-08-18 11:52:25 +00:00
femyeda
e883ab591a simplify expiry calculation, timezone unneccessary 2021-06-25 09:23:32 -05:00
femyeda
6fec24a69d use lib folder 2021-06-25 09:21:21 -05:00
femyeda
ad657c0261 use proper response code 2021-06-25 09:17:39 -05:00
femyeda
2c29368337 fix: passwordResetLink uses correct page 2021-06-25 09:16:24 -05:00
femyeda
ab1298e2ca Allow user to reset password 2021-06-24 11:01:41 -05:00
Alex van Andel
40eb9036f4 Implements inviting external users to teams 2021-06-09 21:43:37 +00:00
Bailey Pumfleet
3a6eae8b8f Update dashboard 2021-05-11 14:11:17 +01:00
Bailey Pumfleet
209791d86d Get user ID from session instead of looking it up 2021-05-11 10:21:05 +01:00
Bailey Pumfleet
17b880335a
Merge pull request #156 from MaZderMind/link-to-public-page
Add Links to Public Pages
2021-05-06 22:22:33 +01:00
Ramiro Berrelleza
d4ba855a72
send back a specific message per field
Signed-off-by: Ramiro Berrelleza <rberrelleza@gmail.com>
2021-05-06 12:43:00 -07:00
Peter Körner
15a6799421 add links to public pages 2021-05-05 22:01:56 +02:00
Chris Benseler
501f229d0e refactor: using property assignment 2021-04-17 17:12:09 -03:00
Bailey Pumfleet
f55f2f6321 Add settings section 2021-04-07 16:03:02 +01:00
Bailey Pumfleet
a758c28fb0 Custom login screen and error page 2021-03-29 22:01:12 +01:00
Bailey Pumfleet
388ff394c7 Add base admin interface 2021-03-24 15:03:04 +00:00