 faa67e0bb6
			
		
	
	
		faa67e0bb6
		
			
		
	
	
	
	
		
			
			* feat: add ApiKey model for new Api auth, owned by a user * fix: remove metadata:Json and add note:String instead in new apiKey model * fix: rename apiKey to apiKeys in moder User relation in schema.prisma * feat: add hashedKey to apiKey and lastUsedAt datetime to keep track of usage of keys and makiung them securely stored in db * fix 30 day -> 30 days in expiresAt * feat: api keys frontend in security page * adds hashedKey to api key model, add frontend api keys in security page * Make frontend work to create api keys with or without expiry, note, defaults to 1 month expiry * remove migration for now, add env.example to swagger, sync api * feat: hashed api keys * fix: minor refactor and cleanup in apiKeys generator * add api key success modal * sync apps/api * feat: We have API Keys in Security =) * remove swagger env from pr * apps api sync * remove comments in password section * feat: migration for api keys schema * sync api w main * delete apps/api * add back apps/api * make min date and disabled optional props in datepicker * feat fix type check errors * fix : types * fix: rmeove renaming of verificationrequest token indexes in migration * fix: remove extra div * Fixes for feedback in PR * fix button /> * fix: rename weird naming of translation for you_will_only_view_it_once * fix: remove ternary and use && to avoid null for false * fix sync apps/api with main not old commit * fix empty className * fix: remove unused imports * fix remove commented jsx fragment close * fix rename editing * improve translations * feat: adds beta tag in security tab under api keys * fix: use api keys everywhere * fix: cleanup code in api keys * fix: use watch and controller for neverexpires/datepicker * Fixes: improve api key never expires * add back change password h2 title section in security page * fix update env API_KEY_ prefix default to cal_ * fix: improve eidt api keys modal * fix: update edit mutation in viewer.apiKeys * Update apps/web/ee/components/apiKeys/ApiKeyListItem.tsx Co-authored-by: Alex van Andel <me@alexvanandel.com> * fix: item: any to pass build Co-authored-by: Agusti Fernandez Pardo <git@agusti.me> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> Co-authored-by: Omar López <zomars@me.com> Co-authored-by: Alex van Andel <me@alexvanandel.com>
		
			
				
	
	
		
			168 lines
		
	
	
	
		
			6.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			168 lines
		
	
	
	
		
			6.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| # ********** INDEX **********
 | |
| #
 | |
| # - LICENSE
 | |
| # - DATABASE
 | |
| # - SHARED
 | |
| #   - NEXTAUTH
 | |
| # - E-MAIL SETTINGS
 | |
| # - APP STORE
 | |
| #   - DAILY.CO VIDEO
 | |
| #   - GOOGLE CALENDAR/MEET/LOGIN
 | |
| #   - HUBSPOT
 | |
| #   - OFFICE 365
 | |
| #   - SLACK
 | |
| #   - STRIPE
 | |
| #   - TANDEM
 | |
| #   - ZOOM
 | |
| 
 | |
| # - LICENSE *************************************************************************************************
 | |
| # Set this value to 'agree' to accept our license:
 | |
| # LICENSE: https://github.com/calendso/calendso/blob/main/LICENSE
 | |
| #
 | |
| # Summary of terms:
 | |
| # - The codebase has to stay open source, whether it was modified or not
 | |
| # - You can not repackage or sell the codebase
 | |
| # - Acquire a commercial license to remove these terms by visiting: cal.com/sales
 | |
| NEXT_PUBLIC_LICENSE_CONSENT=''
 | |
| # ***********************************************************************************************************
 | |
| 
 | |
| # - DATABASE ************************************************************************************************
 | |
| # ⚠️ ⚠️ ⚠️ DATABASE_URL got moved to `packages/prisma/.env.example` ⚠️ ⚠️ ⚠️
 | |
| # ***********************************************************************************************************
 | |
| 
 | |
| # - SHARED **************************************************************************************************
 | |
| NEXT_PUBLIC_WEBAPP_URL='http://localhost:3000'
 | |
| # Change to 'http://localhost:3001' if running the website simultaneously
 | |
| NEXT_PUBLIC_WEBSITE_URL='http://localhost:3000'
 | |
| 
 | |
| # To enable SAML login, set both these variables
 | |
| # @see https://github.com/calcom/cal.com/tree/main/packages/ee#setting-up-saml-login
 | |
| # SAML_DATABASE_URL="postgresql://postgres:@localhost:5450/cal-saml"
 | |
| SAML_DATABASE_URL=
 | |
| # SAML_ADMINS='pro@example.com'
 | |
| SAML_ADMINS=
 | |
| # If you use Heroku to deploy Postgres (or use self-signed certs for Postgres) then uncomment the follow line.
 | |
| # @see https://devcenter.heroku.com/articles/connecting-heroku-postgres#connecting-in-node-js
 | |
| # PGSSLMODE='no-verify'
 | |
| PGSSLMODE=
 | |
| 
 | |
| #   - NEXTAUTH
 | |
| # @see: https://github.com/calendso/calendso/issues/263
 | |
| # Required for Vercel hosting - set NEXTAUTH_URL to equal your BASE_URL
 | |
| # NEXTAUTH_URL='http://localhost:3000'
 | |
| NEXTAUTH_URL=
 | |
| JWT_SECRET='secret'
 | |
| # Used for cross-domain cookie authentication
 | |
| NEXTAUTH_COOKIE_DOMAIN=.example.com
 | |
| 
 | |
| # Remove this var if you don't want Cal to collect anonymous usage
 | |
| NEXT_PUBLIC_TELEMETRY_KEY=js.2pvs2bbpqq1zxna97wcml.oi2jzirnbj1ev4tc57c5r
 | |
| 
 | |
| # ApiKey for cronjobs
 | |
| CRON_API_KEY='0cc0e6c35519bba620c9360cfe3e68d0'
 | |
| 
 | |
| # Application Key for symmetric encryption and decryption
 | |
| # must be 32 bytes for AES256 encryption algorithm
 | |
| # You can use: `openssl rand -base64 24` to generate one
 | |
| CALENDSO_ENCRYPTION_KEY=
 | |
| 
 | |
| # Intercom Config
 | |
| NEXT_PUBLIC_INTERCOM_APP_ID=
 | |
| 
 | |
| # Zendesk Config
 | |
| NEXT_PUBLIC_ZENDESK_KEY=
 | |
| 
 | |
| # Help Scout Config
 | |
| NEXT_PUBLIC_HELPSCOUT_KEY=
 | |
| 
 | |
| # This is used so we can bypass emails in auth flows for E2E testing
 | |
| # Set it to "1" if you need to run E2E tests locally
 | |
| NEXT_PUBLIC_IS_E2E=
 | |
| 
 | |
| # Used for internal billing system
 | |
| NEXT_PUBLIC_STRIPE_PRO_PLAN_PRODUCT=
 | |
| NEXT_PUBLIC_STRIPE_PRO_PLAN_PRICE=
 | |
| NEXT_PUBLIC_STRIPE_PREMIUM_PLAN_PRICE=
 | |
| NEXT_PUBLIC_STRIPE_FREE_PLAN_PRICE=
 | |
| 
 | |
| # Use for internal Public API Keys and optional
 | |
| API_KEY_PREFIX=cal_
 | |
| # ***********************************************************************************************************
 | |
| 
 | |
| # - E-MAIL SETTINGS *****************************************************************************************
 | |
| # Cal uses nodemailer (@see https://nodemailer.com/about/) to provide email sending. As such we are trying to
 | |
| # allow access to the nodemailer transports from the .env file. E-mail templates are accessible within lib/emails/
 | |
| # Configures the global From: header whilst sending emails.
 | |
| EMAIL_FROM='notifications@yourselfhostedcal.com'
 | |
| 
 | |
| # Configure SMTP settings (@see https://nodemailer.com/smtp/).
 | |
| # Note: The below configuration for Office 365 has been verified to work.
 | |
| EMAIL_SERVER_HOST='smtp.office365.com'
 | |
| EMAIL_SERVER_PORT=587
 | |
| EMAIL_SERVER_USER='<office365_emailAddress>'
 | |
| # Keep in mind that if you have 2FA enabled, you will need to provision an App Password.
 | |
| EMAIL_SERVER_PASSWORD='<office365_password>'
 | |
| 
 | |
| # The following configuration for Gmail has been verified to work.
 | |
| # EMAIL_SERVER_HOST='smtp.gmail.com'
 | |
| # EMAIL_SERVER_PORT=465
 | |
| # EMAIL_SERVER_USER='<gmail_emailAddress>'
 | |
| ## You will need to provision an App Password.
 | |
| ## @see https://support.google.com/accounts/answer/185833
 | |
| # EMAIL_SERVER_PASSWORD='<gmail_app_password>'
 | |
| # **********************************************************************************************************
 | |
| 
 | |
| # - APP STORE **********************************************************************************************
 | |
| #   - DAILY.CO VIDEO
 | |
| DAILY_API_KEY=
 | |
| DAILY_SCALE_PLAN=''
 | |
| 
 | |
| #   - GOOGLE CALENDAR/MEET/LOGIN
 | |
| # Needed to enable Google Calendar integration and Login with Google
 | |
| # @see https://github.com/calendso/calendso#obtaining-the-google-api-credentials
 | |
| GOOGLE_API_CREDENTIALS='{}'
 | |
| # To enable Login with Google you need to:
 | |
| # 1. Set `GOOGLE_API_CREDENTIALS` above
 | |
| # 2. Set `GOOGLE_LOGIN_ENABLED` to `true`
 | |
| # When self-hosting please ensure you configure the Google integration as an Internal app so no one else can login to your instance
 | |
| # @see https://support.google.com/cloud/answer/6158849#public-and-internal&zippy=%2Cpublic-and-internal-applications
 | |
| GOOGLE_LOGIN_ENABLED=false
 | |
| 
 | |
| #   - HUBSPOT
 | |
| # Used for the HubSpot integration
 | |
| # @see https://github.com/calcom/cal.com/#obtaining-hubspot-client-id-and-secret
 | |
| HUBSPOT_CLIENT_ID=""
 | |
| HUBSPOT_CLIENT_SECRET=""
 | |
| 
 | |
| #   - OFFICE 365
 | |
| # Used for the Office 365 / Outlook.com Calendar / MS Teams integration
 | |
| # @see https://github.com/calcom/cal.com/#Obtaining-Microsoft-Graph-Client-ID-and-Secret
 | |
| MS_GRAPH_CLIENT_ID=
 | |
| MS_GRAPH_CLIENT_SECRET=
 | |
| 
 | |
| #   - SLACK
 | |
| # @see https://github.com/calcom/cal.com/#obtaining-slack-client-id-and-secret-and-signing-secret
 | |
| SLACK_SIGNING_SECRET=
 | |
| SLACK_CLIENT_ID=
 | |
| SLACK_CLIENT_SECRET=
 | |
| 
 | |
| #   - STRIPE
 | |
| NEXT_PUBLIC_STRIPE_PUBLIC_KEY= # pk_test_...
 | |
| STRIPE_PRIVATE_KEY=            # sk_test_...
 | |
| STRIPE_WEBHOOK_SECRET=         # whsec_...
 | |
| STRIPE_CLIENT_ID=              # ca_...
 | |
| PAYMENT_FEE_FIXED=10           # Take 10 additional cents commission
 | |
| PAYMENT_FEE_PERCENTAGE=0.005   # Take 0.5% commission
 | |
| 
 | |
| #   - TANDEM
 | |
| # Used for the Tandem integration -- contact support@tandem.chat for API access.
 | |
| TANDEM_CLIENT_ID=""
 | |
| TANDEM_CLIENT_SECRET=""
 | |
| TANDEM_BASE_URL="https://tandem.chat"
 | |
| 
 | |
| #   - ZOOM
 | |
| # Used for the Zoom integration
 | |
| # @see https://github.com/calcom/cal.com/#obtaining-zoom-client-id-and-secret
 | |
| ZOOM_CLIENT_ID=
 | |
| ZOOM_CLIENT_SECRET=
 | |
| # *********************************************************************************************************
 |