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
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