Commit Graph

54 Commits (32dc258077dcc12533f3618b84d1d298747582aa)

Author SHA1 Message Date
Omar López e5f8437282
Fixes oauth tests (#1506)
* Fixes oauth tests

* Login page type fixes

* Delegates approval to github UI
2022-01-13 13:45:44 -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
Omar López 4cd7a4ce5b
Adds trial banner and in-app upgrade (#1402)
* WIP trial banner

* Fixes days left count

* Defers stripe loading until needed

* Fixes auth issues

* Checkout fixes

* Allows for signup testing

* Debugging checkout

* Adds tests for trial banner

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-03 22:50:59 +00: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
Jamie Pine 25372b3c9e
- fix border radius (#1339)
- upgrade button / input components
- clean up markup
2021-12-16 17:03:32 -07:00
Syed Ali Shahbaz 8bbfc0c7f0
Adds complementing text color for various brand colors that the user might choose (#1289)
* added contrast evaluator

* added brandtext --WIP

* further changes and fixes

* fixed type err

* fixed datepicker bug

* changed brandtext to brandcontrast

* further dark mode changes

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-12-14 10:39:32 +00:00
Alex Johansson f3c95fa3de
fix i18n flicker on auth pages (#1183)
* fix flicker on `/auth/login`

* fix flicker on logout

* fix flicker on error

* fix i18n flicker on signup
2021-11-16 18:12:08 +01: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
Peer Richelsen 773e9ac57e
replaced black color with new brand variable to make styling easier (#1125) 2021-11-04 14:30:37 +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 f955ccdef9
i18n: continued (#949)
* more extractions

* fix: failing build
2021-10-14 14:24:21 +00:00
Alex Johansson ec6b897191
integration page follow ups (#912)
### Internals

- Replace `lodash.*` packages with plain `lodash` & replace `lodash.*` imports with `lodash/` - should have no impact on bundle size and opens up for us to use all of lodash
- Update `viewer.me` to cherry-pick what we actually need on that query to avoid leaking extra context info
- Update `getIntegrations` to never include `.key`-property to avoid leaking 

### Visual

- Update calendars so `primary` is displayed last
- Update connected calendars so they are in ascending order in which you connected them
2021-10-13 13:35:25 +02:00
Peer Richelsen effbd44f48
added add to home screen banner for login in screens on mobile (#865) 2021-10-06 15:05:01 +01:00
Alex Johansson 08f83dd85c
fix login sometimes having to login twice (#839) 2021-10-01 13:20:28 +01:00
Omar López a04336ba06
Added booking tabs, type fixing and refactoring (#825)
* More type fixes

* More type fixes

* Type fixes

* Adds inputMode to email fields

* Added booking tabs

* Adds aditional notes to bookings
2021-09-29 22:33:18 +01:00
Bailey Pumfleet 5478c135d1
Set tabIndex for forgot password & add loader (#807) 2021-09-28 10:43:15 +00:00
Alex Johansson 34300650e4
add tRPC (#614)
* add trpc

* trpc specific

* fix deps

* lint fix

* upgrade prisma

* nativeTypes

* nope, not needed

* fix app propviders

* Revert "upgrade prisma"

This reverts commit e6f2d2542a.

* rev

* up trpc

* simplify

* wip - bookings page with trpc

* bookings using trpc

* fix `Shell` props

* call it viewerRouter instead

* cleanuop

* ssg helper

* fix lint

* fix types

* skip

* add `useRedirectToLoginIfUnauthenticated`

* exhaustive-deps

* fix callbackUrl

* rewrite `/availability` using trpc

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-27 14:47:55 +00:00
Peer Richelsen 51752bd2bd
added Cal Sans (#709)
* added Cal Sans

* Delete EmptyScreen.tsx
2021-09-22 21:23:19 +00: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
Peer Richelsen 3c089af58a
new EmptyScreen component, using it in /bookings (#708)
* new EmptyScreen component, using it in /bookings

* Linting fixes

Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-21 11:36:29 +01: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
Peer_Rich 9fcd458d25
renamed more calendso to cal.com (#659) 2021-09-15 19:18:16 +01:00
Peer_Rich e48318a34b
copy of #561 ensure callbackUrl exists when submitting login form (#609) 2021-09-12 09:51:59 +01:00
Alex Johansson 2f1ede9bcd
use `getSession()` from `@lib/auth` everywhere (#563) 2021-09-03 21:51:21 +01:00
Mihai C a37411b8af
refactor: add next-seo (#531)
* refactor: add next-seo

* refactor: change naming of seo component
2021-08-27 15:35:20 +03: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
mihaic195 aa8f11d72c
fix: fix next-auth issues 2021-08-09 13:35:06 +03:00
nicolas 560bd19472 Merge branch 'main' into bugfix/unify-email-sending 2021-08-08 21:21:33 +02:00
Peer Richelsen 7ef29453bf minor changes to integrations type eslint 2021-08-05 13:36:24 +02:00
Peer Richelsen 39ee723dc5 moved zIndex for modal to 50 from 10 2021-08-03 13:19:32 +02:00
Peer Richelsen 3119c35749 removed unused code 2021-08-03 10:07:39 +02:00
nicolas 40938bdf6a Merged main into current branch; lots of linting 2021-08-02 22:51:57 +02:00
Peer Richelsen d08b4ba0f3 changed colors of password reset 2021-08-02 18:32:45 +02:00
Peer Richelsen aaa86888db added create account link for hosted 2021-08-02 18:31:49 +02:00
Peer Richelsen 60b9f7ee15 replaced logo at login 2021-08-02 18:30:30 +02:00
Peer Richelsen bd7443017a fixed layout for react-select 2021-08-02 17:24:01 +02:00
Bailey Pumfleet a608f94590 Initial restyling 2021-07-31 00:05:38 +01:00
nicolas e0abbbb2f1 Fixed linting errors 2021-07-20 20:18:26 +02:00
Bailey Pumfleet 9375f337d7 Fix Codacy issues 2021-07-19 16:56:58 +01:00
mihaic195 39df7d61bc
fix: add login link on forgot password page 2021-06-29 11:45:54 +03:00
femyeda ab1298e2ca Allow user to reset password 2021-06-24 11:01:41 -05:00
Bailey Pumfleet 65c7960b76
Merge branch 'main' into feature/invite-external-users 2021-06-11 22:02:07 +01:00
Alex van Andel 9aeb996aef Adds a bit of margin to left and right for better mobile display 2021-06-09 21:47:00 +00:00
Alex van Andel 40eb9036f4 Implements inviting external users to teams 2021-06-09 21:43:37 +00:00
Bailey Pumfleet 01d150092f Mobile UI fixes 2021-05-26 20:47:06 +01:00
Alex van Andel 7b8d0b1119 Implemented getCsrfToken as per auth-next docs, getCsrfToken is required by webpack5 (fixes #123, thanks @jacobocode) 2021-04-30 21:15:18 +00:00
Bailey Pumfleet b2c848d666 Fix logout screen icon 2021-04-29 13:03:49 +01:00
Bailey Pumfleet ce398bd77c Replace all SVG icons with Heroicons components 2021-04-21 11:10:27 +01:00