auth-env
Load Auth.js providers dynamically, by detecting environment variables.
Usage
Install the package:
pnpm install -D auth-env
Define env vars in your .env
or in your hosting settings.
For example, for Github, define a GITHUB_ID
& GITHUB_SECRET
.
# in .env
GITHUB_ID=...
GITHUB_SECRET=...
SvelteKit
Import providers
in src/hooks.server.js
:
import { SvelteKitAuth } from "@auth/sveltekit"
import { providers } from "auth-env"
export const handle = SvelteKitAuth({ providers })
Next.js
Import providers
in auth.ts
:
import NextAuth from "next-auth"
import { providers } from "auth-env"
export const { handlers, auth } = NextAuth({ providers })
Supported Providers
-
42-school:
42_SCHOOL_CLIENT_ID
&42_SCHOOL_CLIENT_SECRET
-
Apple:
APPLE_ID
&APPLE_SECRET
-
Asgardeo:
ASGARDEO_CLIENT_ID
&ASGARDEO_CLIENT_SECRET
-
Atlassian:
ATLASSIAN_ID
&ATLASSIAN_SECRET
-
Auth0:
AUTH0_ID
&AUTH0_SECRET
-
Authentik:
AUTHENTIK_CLIENT_ID
&AUTHENTIK_CLIENT_SECRET
-
AzureAD:
AZURE_AD_CLIENT_ID
&AZURE_AD_CLIENT_SECRET
-
AzureAD B2C:
AZURE_AD_B2C_CLIENT_ID
,AZURE_AD_B2C_CLIENT_SECRET
&AZURE_AD_B2C_ISSUER
-
Azure DevOps:
AZURE_DEVOPS_APP_ID
,AZURE_DEVOPS_CLIENT_SECRET
&AZURE_DEVOPS_SCOPE
-
BattleNet:
BATTLENET_CLIENT_ID
&BATTLENET_CLIENT_SECRET
-
BeyondIdentity:
BEYOND_IDENTITY_CLIENT_ID
,BEYOND_IDENTITY_CLIENT_SECRET
&BEYOND_IDENTITY_ISSUER
-
Box:
BOX_CLIENT_ID
&BOX_CLIENT_SECRET
-
BoxyHQ:
BOXYHQ_SAML_CLIENT_ID
,BOXYHQ_SAML_CLIENT_SECRET
&BOXYHQ_SAML_ISSUER
-
Bungie:
BUNGIE_CLIENT_ID
,BUNGIE_CLIENT_SECRET
&BUNGIE_API_KEY
-
ClickUp:
CLICKUP_CLIENT_ID
&CLICKUP_CLIENT_SECRET
-
Cognito:
COGNITO_CLIENT_ID
,COGNITO_CLIENT_SECRET
&COGNITO_ISSUER
-
Coinbase:
COINBASE_CLIENT_ID
&COINBASE_CLIENT_SECRET
-
Descope:
DESCOPE_ID
&DESCOPE_SECRET
-
Discord:
DISCORD_CLIENT_ID
&DISCORD_CLIENT_SECRET
-
Dribbble:
DRIBBBLE_CLIENT_ID
&DRIBBBLE_CLIENT_SECRET
-
Dropbox:
DROPBOX_CLIENT_ID
&DROPBOX_CLIENT_SECRET
-
DuendeIdentityServer6:
DIS6_CLIENT_ID
,DIS6_CLIENT_SECRET
&DIS6_ISSUER
-
Email:
EMAIL_SERVER
&EMAIL_FROM
-
EveOnline:
EVEONLINE_CLIENT_ID
&EVEONLINE_CLIENT_SECRET
-
Facebook:
FACEBOOK_CLIENT_ID
&FACEBOOK_CLIENT_SECRET
-
FACEIT:
FACEIT_CLIENT_ID
&FACEIT_CLIENT_SECRET
-
FourSquare:
FOURSQUARE_CLIENT_ID
&FOURSQUARE_CLIENT_SECRET
-
FreshBooks:
FRESHBOOKS_CLIENT_ID
&FRESHBOOKS_CLIENT_SECRET
-
FusionAuth:
FUSIONAUTH_CLIENT_ID
,FUSIONAUTH_CLIENT_SECRET
,FUSIONAUTH_TENANT_ID
&FUSIONAUTH_ISSUER
-
GitHub:
GITHUB_ID
&GITHUB_SECRET
-
GitLab:
GITLAB_CLIENT_ID
&GITLAB_CLIENT_SECRET
-
Google:
GOOGLE_CLIENT_ID
&GOOGLE_CLIENT_SECRET
-
HubSpot:
HUBSPOT_CLIENT_ID
&HUBSPOT_CLIENT_SECRET
-
IdentityServer4:
IDENTITY_SERVER4_CLIENT_ID
,IDENTITY_SERVER4_CLIENT_SECRET
&IDENTITY_SERVER4_ISSUER
-
Instagram:
INSTAGRAM_CLIENT_ID
&INSTAGRAM_CLIENT_SECRET
-
Kakao:
KAKAO_CLIENT_ID
&KAKAO_CLIENT_SECRET
-
Keycloak:
KEYCLOAK_CLIENT_ID
,KEYCLOAK_CLIENT_SECRET
&KEYCLOAK_ISSUER
-
LINE:
LINE_CLIENT_ID
&LINE_CLIENT_SECRET
-
LinkedIn:
LINKEDIN_CLIENT_ID
&LINKEDIN_CLIENT_SECRET
-
Mailchimp:
MAILCHIMP_CLIENT_ID
&MAILCHIMP_CLIENT_SECRET
-
Mailru:
MAILRU_CLIENT_ID
&MAILRU_CLIENT_SECRET
-
Mastodon:
MASTODON_CLIENT_ID
,MASTODON_CLIENT_SECRET
&MASTODON_ISSUER
-
Mattermost:
MATTERMOST_CLIENT_ID
,MATTERMOST_CLIENT_SECRET
&MATTERMOST_ISSUER
-
Medium:
MEDIUM_CLIENT_ID
&MEDIUM_CLIENT_SECRET
-
Naver:
NAVER_CLIENT_ID
&NAVER_CLIENT_SECRET
-
Netlify:
NETLIFY_CLIENT_ID
&NETLIFY_CLIENT_SECRET
-
Notion:
NOTION_CLIENT_ID
,NOTION_CLIENT_SECRET
&NOTION_CLIENT_REDIRECT_URI
-
Okta:
OKTA_CLIENT_ID
,OKTA_CLIENT_SECRET
&OKTA_ISSUER
-
OneLogin:
ONELOGIN_CLIENT_ID
&ONELOGIN_CLIENT_SECRET
-
Osso:
OSSO_CLIENT_ID
,OSSO_CLIENT_SECRET
&OSSO_ISSUER
-
Osu:
OSU_CLIENT_ID
&OSU_CLIENT_SECRET
-
Passage:
PASSAGE_ID
,PASSAGE_SECRET
&PASSAGE_ISSUER
-
Patreon:
PATREON_CLIENT_ID
&PATREON_CLIENT_SECRET
-
Pinterest:
PINTEREST_CLIENT_ID
&PINTEREST_CLIENT_SECRET
-
Pipedrive:
PIPEDRIVE_CLIENT_ID
&PIPEDRIVE_CLIENT_SECRET
-
Reddit:
REDDIT_CLIENT_ID
&REDDIT_CLIENT_SECRET
-
SaleForce:
SALEFORCE_CLIENT_ID
&SALEFORCE_CLIENT_SECRET
-
Slack:
SLACK_CLIENT_ID
&SLACK_CLIENT_SECRET
-
Spotify:
SPOTIFY_CLIENT_ID
&SPOTIFY_CLIENT_SECRET
-
Strava:
STRAVA_CLIENT_ID
&STRAVA_CLIENT_SECRET
-
Tiktok:
TIKTOK_CLIENT_KEY
&TIKTOK_CLIENT_SECRET
-
Todoist:
TODOIST_CLIENT_ID
&TODOIST_CLIENT_SECRET
-
Trakt:
TRAKT_CLIENT_ID
&TRAKT_CLIENT_SECRET
-
Twitch:
TWITCH_CLIENT_ID
&TWITCH_CLIENT_SECRET
-
Twitter:
TWITTER_CLIENT_ID
&TWITTER_CLIENT_SECRET
-
UnitedEffects:
UE_CLIENT_ID
&UE_CLIENT_SECRET
-
VK:
VK_CLIENT_ID
&VK_CLIENT_SECRET
-
Wikimedia:
WIKIMEDIA_CLIENT_ID
&WIKIMEDIA_CLIENT_SECRET
-
WordPress:
WORKPRESS_CLIENT_ID
&WORKPRESS_CLIENT_SECRET
-
WorkOS:
WORKOS_CLIENT_ID
,WORKOS_CLIENT_SECRET
&WORKOS_ISSUER
-
Yandex:
YANDEX_CLIENT_ID
&YANDEX_CLIENT_SECRET
-
ZITADEL:
ZITADEL_CLIENT_ID
&ZITADEL_CLIENT_SECRET
-
ZOHO:
ZOHO_CLIENT_ID
&ZOHO_CLIENT_SECRET
-
Zoom:
ZOOM_CLIENT_ID
&ZOOM_CLIENT_SECRET
The aim is to support all providers. Feel free to open a PR if anything is missing.
License
MIT