Commit Graph
37 Commits
Author SHA1 Message Date
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
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ópezandkodiakhq[bot] 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ópezandAlex van Andel 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
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 AndelandOmar López 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 CandBailey Pumfleet 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 MeagherandBailey Pumfleet 96fd7ecf41 chore: change calendso strings to cal.com (#707)
Build / Build on Node 14.x and ubuntu-latest (push) Canceled after 0s
E2E test / 14.x and ubuntu-latest (push) Canceled after 0s
Lint / lint (push) Canceled after 0s
* 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
ChrisandBailey Pumfleet c0330acd83 Add two-factor authentication (#692)
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-21 10:29:20 +01:00
ChrisandBailey Pumfleet 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 AndelandBailey Pumfleet 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 JohanssonandAlex van Andel 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