1.0.2 • Published 2 years ago
authjs-env v1.0.2
authjs-env
Load Auth.js providers dynamically, by detecting environment variables.
Usage
Install the package:
pnpm install -D authjs-envDefine 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 "authjs-env"
export const handle = SvelteKitAuth({ providers })Next.js
Import providers in auth.ts:
import NextAuth from "next-auth"
import { providers } from "authjs-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