Google OAuth App Setup
Create a Google OAuth app to enable Google Login, Google Calendar sync, and Google Meet room creation.
Let users sign in with their GitHub account. A two-minute setup with no special API scopes required.
Technical Product Builder & AI Developer
By the end of this guide, users will be able to sign in to Tymeslot with their GitHub account. GitHub is the simplest OAuth provider to configure — no consent screen review, no API library to enable, no admin permissions required.
github.com/settings/developers (or navigate via your GitHub avatar → [Settings] → [Developer settings]).
https://yourdomain.com
https://yourdomain.com/auth/github/callback
Your Client ID is displayed at the top of the app settings page, above the client secrets section. Unlike the client secret, it is always visible and can be retrieved at any time by returning to this page.
Add the following to your Tymeslot environment configuration and restart the server.
# Enable GitHub Login
ENABLE_GITHUB_AUTH=true
# OAuth credentials (from Steps 2 and 3)
GITHUB_CLIENT_ID=your-client-id
GITHUB_CLIENT_SECRET=your-client-secret
After restarting, a Sign in with GitHub button appears on the login and registration pages.
When a user clicks Sign in with GitHub, GitHub asks them to authorize access to their public profile and email address. No repository, organization, or code access is requested.
Tymeslot creates or links a user account using the email address from the user's GitHub profile. If an account already exists with the same email, GitHub login is automatically connected to it — users can continue using either their password or GitHub to sign in.
Login redirects back to the login page with an error
The most common cause is a mismatch between the Authorization callback URL registered in GitHub and the URL Tymeslot is using. The match must be exact: same scheme (https://), same domain, same path, and no trailing slash. Open your GitHub OAuth App settings and confirm the callback URL matches https://yourdomain.com/auth/github/callback exactly.
"Sign in with GitHub" button does not appear
Confirm that ENABLE_GITHUB_AUTH=true is set in your environment and that you have restarted Tymeslot after adding the variable. Environment variables are only read at startup.
Login fails for a specific user but works for others
This is almost always the private email scenario. Ask the user to check their GitHub email settings at github.com/settings/emails and confirm they have at least one verified email address on their account.
The most likely cause is a mismatch between the Authorization callback URL registered in your GitHub OAuth App and the URL Tymeslot sends during the OAuth flow. The value in GitHub must be exactly https://yourdomain.com/auth/github/callback — same scheme, same domain, same path, no trailing slash. Open your app at github.com/settings/developers and verify the callback URL character-for-character.
GitHub allows users to mark their email address as private, in which case the standard profile API returns a null email field. Tymeslot handles this automatically by making a secondary request to GitHub's /user/emails endpoint to retrieve the user's primary verified email. If a user has no verified email address on their GitHub account at all, they will be prompted to add one before they can sign in.
No. GitHub OAuth Apps do not support organization-level restrictions — any GitHub user can authorize the app and sign in if GitHub login is enabled on your Tymeslot instance. If you need to restrict access to a specific set of users, use Tymeslot's invitation-only mode or disable open registration in your instance settings.
Double-check that the GITHUB_CLIENT_ID environment variable contains the Client ID shown at the top of your GitHub OAuth App settings page, not the numeric App ID. These are two different values. The Client ID is an alphanumeric string (e.g., Iv1.a1b2c3d4e5f6a7b8); the App ID is a plain integer and is not used for OAuth.
No. GitHub OAuth Apps do not require review or publishing to work. They are available to users immediately after creation, in both development and production. Unlike GitHub Apps, there is no approval process and no distinction between "testing" and "production" modes.
github.com/settings/developers shows a non-zero count next to Users.
Create a Google OAuth app to enable Google Login, Google Calendar sync, and Google Meet room creation.
Register a Microsoft Azure app to enable Microsoft Login, Outlook Calendar sync, and Teams room creation.
Connect any OAuth 2.0 / OpenID Connect identity provider for single sign-on. Supports Keycloak, Authentik, Lemonldap::NG, Okta, Azure AD, and more.