@mulverse/mulguard-core 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/adapters.d.ts +522 -0
- package/adapters.d.ts.map +1 -0
- package/adapters.js +170 -0
- package/errors.d.ts +429 -0
- package/errors.d.ts.map +1 -0
- package/errors.js +473 -0
- package/index.d.ts +547 -0
- package/index.d.ts.map +1 -0
- package/index.js +142 -0
- package/jwt.d.ts +132 -0
- package/jwt.d.ts.map +1 -0
- package/jwt.js +123 -0
- package/lib/actions/callback/handle-login.d.ts +35 -0
- package/lib/actions/callback/handle-login.d.ts.map +1 -0
- package/lib/actions/callback/handle-login.js +275 -0
- package/lib/actions/callback/index.d.ts +5 -0
- package/lib/actions/callback/index.d.ts.map +1 -0
- package/lib/actions/callback/index.js +409 -0
- package/lib/actions/callback/oauth/callback.d.ts +36 -0
- package/lib/actions/callback/oauth/callback.d.ts.map +1 -0
- package/lib/actions/callback/oauth/callback.js +248 -0
- package/lib/actions/callback/oauth/checks.d.ts +70 -0
- package/lib/actions/callback/oauth/checks.d.ts.map +1 -0
- package/lib/actions/callback/oauth/checks.js +188 -0
- package/lib/actions/callback/oauth/csrf-token.d.ts +33 -0
- package/lib/actions/callback/oauth/csrf-token.d.ts.map +1 -0
- package/lib/actions/callback/oauth/csrf-token.js +39 -0
- package/lib/actions/index.d.ts +6 -0
- package/lib/actions/index.d.ts.map +1 -0
- package/lib/actions/index.js +5 -0
- package/lib/actions/session.d.ts +5 -0
- package/lib/actions/session.d.ts.map +1 -0
- package/lib/actions/session.js +127 -0
- package/lib/actions/signin/authorization-url.d.ts +12 -0
- package/lib/actions/signin/authorization-url.d.ts.map +1 -0
- package/lib/actions/signin/authorization-url.js +94 -0
- package/lib/actions/signin/index.d.ts +4 -0
- package/lib/actions/signin/index.d.ts.map +1 -0
- package/lib/actions/signin/index.js +22 -0
- package/lib/actions/signin/send-token.d.ts +10 -0
- package/lib/actions/signin/send-token.d.ts.map +1 -0
- package/lib/actions/signin/send-token.js +98 -0
- package/lib/actions/signout.d.ts +11 -0
- package/lib/actions/signout.d.ts.map +1 -0
- package/lib/actions/signout.js +30 -0
- package/lib/actions/webauthn-options.d.ts +8 -0
- package/lib/actions/webauthn-options.d.ts.map +1 -0
- package/lib/actions/webauthn-options.js +60 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +70 -0
- package/lib/init.d.ts +25 -0
- package/lib/init.d.ts.map +1 -0
- package/lib/init.js +172 -0
- package/lib/pages/error.d.ts +17 -0
- package/lib/pages/error.d.ts.map +1 -0
- package/lib/pages/error.js +40 -0
- package/lib/pages/index.d.ts +42 -0
- package/lib/pages/index.d.ts.map +1 -0
- package/lib/pages/index.js +136 -0
- package/lib/pages/signin.d.ts +10 -0
- package/lib/pages/signin.d.ts.map +1 -0
- package/lib/pages/signin.js +75 -0
- package/lib/pages/signout.d.ts +8 -0
- package/lib/pages/signout.d.ts.map +1 -0
- package/lib/pages/signout.js +17 -0
- package/lib/pages/styles.d.ts +3 -0
- package/lib/pages/styles.d.ts.map +1 -0
- package/lib/pages/styles.js +381 -0
- package/lib/pages/verify-request.d.ts +8 -0
- package/lib/pages/verify-request.d.ts.map +1 -0
- package/lib/pages/verify-request.js +11 -0
- package/lib/symbols.d.ts +50 -0
- package/lib/symbols.d.ts.map +1 -0
- package/lib/symbols.js +57 -0
- package/lib/utils/actions.d.ts +3 -0
- package/lib/utils/actions.d.ts.map +1 -0
- package/lib/utils/actions.js +14 -0
- package/lib/utils/assert.d.ts +14 -0
- package/lib/utils/assert.d.ts.map +1 -0
- package/lib/utils/assert.js +168 -0
- package/lib/utils/callback-url.d.ts +17 -0
- package/lib/utils/callback-url.d.ts.map +1 -0
- package/lib/utils/callback-url.js +27 -0
- package/lib/utils/cookie.d.ts +111 -0
- package/lib/utils/cookie.d.ts.map +1 -0
- package/lib/utils/cookie.js +205 -0
- package/lib/utils/date.d.ts +7 -0
- package/lib/utils/date.d.ts.map +1 -0
- package/lib/utils/date.js +8 -0
- package/lib/utils/email.d.ts +20 -0
- package/lib/utils/email.d.ts.map +1 -0
- package/lib/utils/email.js +57 -0
- package/lib/utils/env.d.ts +9 -0
- package/lib/utils/env.d.ts.map +1 -0
- package/lib/utils/env.js +96 -0
- package/lib/utils/logger.d.ts +18 -0
- package/lib/utils/logger.d.ts.map +1 -0
- package/lib/utils/logger.js +50 -0
- package/lib/utils/merge.d.ts +3 -0
- package/lib/utils/merge.d.ts.map +1 -0
- package/lib/utils/merge.js +23 -0
- package/lib/utils/providers.d.ts +19 -0
- package/lib/utils/providers.d.ts.map +1 -0
- package/lib/utils/providers.js +149 -0
- package/lib/utils/session.d.ts +7 -0
- package/lib/utils/session.d.ts.map +1 -0
- package/lib/utils/session.js +29 -0
- package/lib/utils/web.d.ts +10 -0
- package/lib/utils/web.d.ts.map +1 -0
- package/lib/utils/web.js +109 -0
- package/lib/utils/webauthn-client.d.ts +30 -0
- package/lib/utils/webauthn-client.d.ts.map +1 -0
- package/lib/utils/webauthn-client.js +197 -0
- package/lib/utils/webauthn-utils.d.ts +81 -0
- package/lib/utils/webauthn-utils.d.ts.map +1 -0
- package/lib/utils/webauthn-utils.js +343 -0
- package/lib/vendored/cookie.d.ts +120 -0
- package/lib/vendored/cookie.d.ts.map +1 -0
- package/lib/vendored/cookie.js +237 -0
- package/package.json +118 -0
- package/providers/42-school.d.ts +240 -0
- package/providers/42-school.d.ts.map +1 -0
- package/providers/42-school.js +78 -0
- package/providers/apple.d.ts +149 -0
- package/providers/apple.d.ts.map +1 -0
- package/providers/apple.js +104 -0
- package/providers/asgardeo.d.ts +102 -0
- package/providers/asgardeo.d.ts.map +1 -0
- package/providers/asgardeo.js +93 -0
- package/providers/atlassian.d.ts +94 -0
- package/providers/atlassian.d.ts.map +1 -0
- package/providers/atlassian.js +84 -0
- package/providers/auth0.d.ts +116 -0
- package/providers/auth0.d.ts.map +1 -0
- package/providers/auth0.js +49 -0
- package/providers/authentik.d.ts +90 -0
- package/providers/authentik.d.ts.map +1 -0
- package/providers/authentik.js +65 -0
- package/providers/azure-ad-b2c.d.ts +104 -0
- package/providers/azure-ad-b2c.d.ts.map +1 -0
- package/providers/azure-ad-b2c.js +100 -0
- package/providers/azure-ad.d.ts +19 -0
- package/providers/azure-ad.d.ts.map +1 -0
- package/providers/azure-ad.js +23 -0
- package/providers/azure-devops.d.ts +128 -0
- package/providers/azure-devops.d.ts.map +1 -0
- package/providers/azure-devops.js +158 -0
- package/providers/bankid-no.d.ts +134 -0
- package/providers/bankid-no.d.ts.map +1 -0
- package/providers/bankid-no.js +65 -0
- package/providers/battlenet.d.ts +85 -0
- package/providers/battlenet.d.ts.map +1 -0
- package/providers/battlenet.js +81 -0
- package/providers/beyondidentity.d.ts +77 -0
- package/providers/beyondidentity.d.ts.map +1 -0
- package/providers/beyondidentity.js +84 -0
- package/providers/bitbucket.d.ts +89 -0
- package/providers/bitbucket.d.ts.map +1 -0
- package/providers/bitbucket.js +92 -0
- package/providers/box.d.ts +63 -0
- package/providers/box.d.ts.map +1 -0
- package/providers/box.js +73 -0
- package/providers/boxyhq-saml.d.ts +121 -0
- package/providers/boxyhq-saml.d.ts.map +1 -0
- package/providers/boxyhq-saml.js +127 -0
- package/providers/bungie.d.ts +167 -0
- package/providers/bungie.d.ts.map +1 -0
- package/providers/bungie.js +174 -0
- package/providers/click-up.d.ts +75 -0
- package/providers/click-up.d.ts.map +1 -0
- package/providers/click-up.js +89 -0
- package/providers/cognito.d.ts +81 -0
- package/providers/cognito.d.ts.map +1 -0
- package/providers/cognito.js +73 -0
- package/providers/coinbase.d.ts +69 -0
- package/providers/coinbase.d.ts.map +1 -0
- package/providers/coinbase.js +78 -0
- package/providers/concept2.d.ts +81 -0
- package/providers/concept2.d.ts.map +1 -0
- package/providers/concept2.js +86 -0
- package/providers/credentials.d.ts +132 -0
- package/providers/credentials.d.ts.map +1 -0
- package/providers/credentials.js +74 -0
- package/providers/descope.d.ts +91 -0
- package/providers/descope.d.ts.map +1 -0
- package/providers/descope.js +78 -0
- package/providers/discord.d.ts +139 -0
- package/providers/discord.d.ts.map +1 -0
- package/providers/discord.js +86 -0
- package/providers/dribbble.d.ts +88 -0
- package/providers/dribbble.d.ts.map +1 -0
- package/providers/dribbble.js +85 -0
- package/providers/dropbox.d.ts +65 -0
- package/providers/dropbox.d.ts.map +1 -0
- package/providers/dropbox.js +88 -0
- package/providers/duende-identity-server6.d.ts +91 -0
- package/providers/duende-identity-server6.d.ts.map +1 -0
- package/providers/duende-identity-server6.js +80 -0
- package/providers/email.d.ts +41 -0
- package/providers/email.d.ts.map +1 -0
- package/providers/email.js +18 -0
- package/providers/eventbrite.d.ts +78 -0
- package/providers/eventbrite.d.ts.map +1 -0
- package/providers/eventbrite.js +88 -0
- package/providers/eveonline.d.ts +94 -0
- package/providers/eveonline.d.ts.map +1 -0
- package/providers/eveonline.js +92 -0
- package/providers/facebook.d.ts +84 -0
- package/providers/facebook.d.ts.map +1 -0
- package/providers/facebook.js +93 -0
- package/providers/faceit.d.ts +64 -0
- package/providers/faceit.d.ts.map +1 -0
- package/providers/faceit.js +74 -0
- package/providers/figma.d.ts +75 -0
- package/providers/figma.d.ts.map +1 -0
- package/providers/figma.js +81 -0
- package/providers/forwardemail.d.ts +4 -0
- package/providers/forwardemail.d.ts.map +1 -0
- package/providers/forwardemail.js +32 -0
- package/providers/foursquare.d.ts +71 -0
- package/providers/foursquare.d.ts.map +1 -0
- package/providers/foursquare.js +91 -0
- package/providers/freshbooks.d.ts +66 -0
- package/providers/freshbooks.d.ts.map +1 -0
- package/providers/freshbooks.js +76 -0
- package/providers/frontegg.d.ts +95 -0
- package/providers/frontegg.d.ts.map +1 -0
- package/providers/frontegg.js +88 -0
- package/providers/fusionauth.d.ts +279 -0
- package/providers/fusionauth.d.ts.map +1 -0
- package/providers/fusionauth.js +292 -0
- package/providers/github.d.ts +127 -0
- package/providers/github.d.ts.map +1 -0
- package/providers/github.js +115 -0
- package/providers/gitlab.d.ts +115 -0
- package/providers/gitlab.d.ts.map +1 -0
- package/providers/gitlab.js +75 -0
- package/providers/google.d.ts +138 -0
- package/providers/google.d.ts.map +1 -0
- package/providers/google.js +119 -0
- package/providers/hubspot.d.ts +76 -0
- package/providers/hubspot.d.ts.map +1 -0
- package/providers/hubspot.js +93 -0
- package/providers/huggingface.d.ts +216 -0
- package/providers/huggingface.d.ts.map +1 -0
- package/providers/huggingface.js +101 -0
- package/providers/identity-server4.d.ts +69 -0
- package/providers/identity-server4.d.ts.map +1 -0
- package/providers/identity-server4.js +64 -0
- package/providers/index.d.ts +61 -0
- package/providers/index.d.ts.map +1 -0
- package/providers/index.js +3 -0
- package/providers/instagram.d.ts +74 -0
- package/providers/instagram.d.ts.map +1 -0
- package/providers/instagram.js +87 -0
- package/providers/kakao.d.ts +148 -0
- package/providers/kakao.d.ts.map +1 -0
- package/providers/kakao.js +103 -0
- package/providers/keycloak.d.ts +100 -0
- package/providers/keycloak.d.ts.map +1 -0
- package/providers/keycloak.js +73 -0
- package/providers/kinde.d.ts +73 -0
- package/providers/kinde.d.ts.map +1 -0
- package/providers/kinde.js +51 -0
- package/providers/line.d.ts +83 -0
- package/providers/line.d.ts.map +1 -0
- package/providers/line.js +73 -0
- package/providers/linkedin.d.ts +77 -0
- package/providers/linkedin.d.ts.map +1 -0
- package/providers/linkedin.js +65 -0
- package/providers/logto.d.ts +98 -0
- package/providers/logto.d.ts.map +1 -0
- package/providers/logto.js +81 -0
- package/providers/loops.d.ts +40 -0
- package/providers/loops.d.ts.map +1 -0
- package/providers/loops.js +59 -0
- package/providers/mailchimp.d.ts +66 -0
- package/providers/mailchimp.d.ts.map +1 -0
- package/providers/mailchimp.js +76 -0
- package/providers/mailgun.d.ts +55 -0
- package/providers/mailgun.d.ts.map +1 -0
- package/providers/mailgun.js +74 -0
- package/providers/mailru.d.ts +63 -0
- package/providers/mailru.d.ts.map +1 -0
- package/providers/mailru.js +61 -0
- package/providers/mastodon.d.ts +90 -0
- package/providers/mastodon.d.ts.map +1 -0
- package/providers/mastodon.js +75 -0
- package/providers/mattermost.d.ts +132 -0
- package/providers/mattermost.d.ts.map +1 -0
- package/providers/mattermost.js +83 -0
- package/providers/medium.d.ts +68 -0
- package/providers/medium.d.ts.map +1 -0
- package/providers/medium.js +84 -0
- package/providers/microsoft-entra-id.d.ts +428 -0
- package/providers/microsoft-entra-id.d.ts.map +1 -0
- package/providers/microsoft-entra-id.js +156 -0
- package/providers/naver.d.ts +80 -0
- package/providers/naver.d.ts.map +1 -0
- package/providers/naver.js +79 -0
- package/providers/netlify.d.ts +66 -0
- package/providers/netlify.d.ts.map +1 -0
- package/providers/netlify.js +85 -0
- package/providers/netsuite.d.ts +189 -0
- package/providers/netsuite.d.ts.map +1 -0
- package/providers/netsuite.js +170 -0
- package/providers/nextcloud.d.ts +150 -0
- package/providers/nextcloud.d.ts.map +1 -0
- package/providers/nextcloud.js +99 -0
- package/providers/nodemailer.d.ts +27 -0
- package/providers/nodemailer.d.ts.map +1 -0
- package/providers/nodemailer.js +34 -0
- package/providers/notion.d.ts +99 -0
- package/providers/notion.d.ts.map +1 -0
- package/providers/notion.js +110 -0
- package/providers/oauth.d.ts +188 -0
- package/providers/oauth.d.ts.map +1 -0
- package/providers/oauth.js +1 -0
- package/providers/okta.d.ts +99 -0
- package/providers/okta.d.ts.map +1 -0
- package/providers/okta.js +63 -0
- package/providers/onelogin.d.ts +65 -0
- package/providers/onelogin.d.ts.map +1 -0
- package/providers/onelogin.js +61 -0
- package/providers/ory-hydra.d.ts +79 -0
- package/providers/ory-hydra.d.ts.map +1 -0
- package/providers/ory-hydra.js +67 -0
- package/providers/osso.d.ts +79 -0
- package/providers/osso.d.ts.map +1 -0
- package/providers/osso.js +77 -0
- package/providers/osu.d.ts +116 -0
- package/providers/osu.d.ts.map +1 -0
- package/providers/osu.js +75 -0
- package/providers/passage.d.ts +88 -0
- package/providers/passage.d.ts.map +1 -0
- package/providers/passage.js +75 -0
- package/providers/passkey.d.ts +65 -0
- package/providers/passkey.d.ts.map +1 -0
- package/providers/passkey.js +87 -0
- package/providers/patreon.d.ts +73 -0
- package/providers/patreon.d.ts.map +1 -0
- package/providers/patreon.js +77 -0
- package/providers/ping-id.d.ts +57 -0
- package/providers/ping-id.d.ts.map +1 -0
- package/providers/ping-id.js +40 -0
- package/providers/pinterest.d.ts +79 -0
- package/providers/pinterest.d.ts.map +1 -0
- package/providers/pinterest.js +85 -0
- package/providers/pipedrive.d.ts +99 -0
- package/providers/pipedrive.d.ts.map +1 -0
- package/providers/pipedrive.js +71 -0
- package/providers/postmark.d.ts +4 -0
- package/providers/postmark.d.ts.map +1 -0
- package/providers/postmark.js +36 -0
- package/providers/provider-types.d.ts +3 -0
- package/providers/provider-types.d.ts.map +1 -0
- package/providers/provider-types.js +1 -0
- package/providers/reddit.d.ts +88 -0
- package/providers/reddit.d.ts.map +1 -0
- package/providers/reddit.js +90 -0
- package/providers/resend.d.ts +4 -0
- package/providers/resend.d.ts.map +1 -0
- package/providers/resend.js +32 -0
- package/providers/roblox.d.ts +67 -0
- package/providers/roblox.d.ts.map +1 -0
- package/providers/roblox.js +53 -0
- package/providers/salesforce.d.ts +59 -0
- package/providers/salesforce.d.ts.map +1 -0
- package/providers/salesforce.js +52 -0
- package/providers/sendgrid.d.ts +4 -0
- package/providers/sendgrid.d.ts.map +1 -0
- package/providers/sendgrid.js +35 -0
- package/providers/simplelogin.d.ts +87 -0
- package/providers/simplelogin.d.ts.map +1 -0
- package/providers/simplelogin.js +83 -0
- package/providers/slack.d.ts +102 -0
- package/providers/slack.d.ts.map +1 -0
- package/providers/slack.js +69 -0
- package/providers/spotify.d.ts +75 -0
- package/providers/spotify.d.ts.map +1 -0
- package/providers/spotify.js +73 -0
- package/providers/strava.d.ts +68 -0
- package/providers/strava.d.ts.map +1 -0
- package/providers/strava.js +80 -0
- package/providers/threads.d.ts +108 -0
- package/providers/threads.d.ts.map +1 -0
- package/providers/threads.js +89 -0
- package/providers/tiktok.d.ts +248 -0
- package/providers/tiktok.d.ts.map +1 -0
- package/providers/tiktok.js +195 -0
- package/providers/todoist.d.ts +76 -0
- package/providers/todoist.d.ts.map +1 -0
- package/providers/todoist.js +97 -0
- package/providers/trakt.d.ts +93 -0
- package/providers/trakt.d.ts.map +1 -0
- package/providers/trakt.js +91 -0
- package/providers/twitch.d.ts +71 -0
- package/providers/twitch.d.ts.map +1 -0
- package/providers/twitch.js +96 -0
- package/providers/twitter.d.ts +183 -0
- package/providers/twitter.d.ts.map +1 -0
- package/providers/twitter.js +100 -0
- package/providers/united-effects.d.ts +80 -0
- package/providers/united-effects.d.ts.map +1 -0
- package/providers/united-effects.js +72 -0
- package/providers/vipps.d.ts +71 -0
- package/providers/vipps.d.ts.map +1 -0
- package/providers/vipps.js +33 -0
- package/providers/vk.d.ts +334 -0
- package/providers/vk.d.ts.map +1 -0
- package/providers/vk.js +103 -0
- package/providers/webauthn.d.ts +148 -0
- package/providers/webauthn.d.ts.map +1 -0
- package/providers/webauthn.js +128 -0
- package/providers/webex.d.ts +78 -0
- package/providers/webex.d.ts.map +1 -0
- package/providers/webex.js +73 -0
- package/providers/wechat.d.ts +78 -0
- package/providers/wechat.d.ts.map +1 -0
- package/providers/wechat.js +105 -0
- package/providers/wikimedia.d.ts +99 -0
- package/providers/wikimedia.d.ts.map +1 -0
- package/providers/wikimedia.js +90 -0
- package/providers/wordpress.d.ts +65 -0
- package/providers/wordpress.d.ts.map +1 -0
- package/providers/wordpress.js +71 -0
- package/providers/workos.d.ts +154 -0
- package/providers/workos.d.ts.map +1 -0
- package/providers/workos.js +143 -0
- package/providers/yandex.d.ts +131 -0
- package/providers/yandex.d.ts.map +1 -0
- package/providers/yandex.js +80 -0
- package/providers/zitadel.d.ts +117 -0
- package/providers/zitadel.d.ts.map +1 -0
- package/providers/zitadel.js +95 -0
- package/providers/zoho.d.ts +63 -0
- package/providers/zoho.d.ts.map +1 -0
- package/providers/zoho.js +79 -0
- package/providers/zoom.d.ts +93 -0
- package/providers/zoom.d.ts.map +1 -0
- package/providers/zoom.js +82 -0
- package/src/adapters/server-actions-helpers.ts +126 -0
- package/src/adapters.ts +603 -0
- package/src/errors.ts +551 -0
- package/src/index.ts +689 -0
- package/src/jwt.ts +283 -0
- package/src/lib/actions/callback/handle-login.ts +334 -0
- package/src/lib/actions/callback/index.ts +554 -0
- package/src/lib/actions/callback/oauth/callback.ts +347 -0
- package/src/lib/actions/callback/oauth/checks.ts +258 -0
- package/src/lib/actions/callback/oauth/csrf-token.ts +60 -0
- package/src/lib/actions/index.ts +5 -0
- package/src/lib/actions/session.ts +167 -0
- package/src/lib/actions/signin/authorization-url.ts +123 -0
- package/src/lib/actions/signin/index.ts +37 -0
- package/src/lib/actions/signin/send-token.ts +124 -0
- package/src/lib/actions/signout.ts +38 -0
- package/src/lib/actions/webauthn-options.ts +100 -0
- package/src/lib/index.ts +97 -0
- package/src/lib/init.ts +236 -0
- package/src/lib/pages/error.tsx +106 -0
- package/src/lib/pages/index.ts +181 -0
- package/src/lib/pages/signin.tsx +255 -0
- package/src/lib/pages/signout.tsx +49 -0
- package/src/lib/pages/styles.css +377 -0
- package/src/lib/pages/styles.ts +381 -0
- package/src/lib/pages/verify-request.tsx +36 -0
- package/src/lib/symbols.ts +60 -0
- package/src/lib/utils/actions.ts +17 -0
- package/src/lib/utils/assert.ts +259 -0
- package/src/lib/utils/callback-url.ts +42 -0
- package/src/lib/utils/cookie.ts +248 -0
- package/src/lib/utils/date.ts +8 -0
- package/src/lib/utils/email.ts +65 -0
- package/src/lib/utils/env.ts +113 -0
- package/src/lib/utils/logger.ts +75 -0
- package/src/lib/utils/merge.ts +30 -0
- package/src/lib/utils/providers.ts +203 -0
- package/src/lib/utils/session.ts +41 -0
- package/src/lib/utils/web.ts +151 -0
- package/src/lib/utils/webauthn-client.js +229 -0
- package/src/lib/utils/webauthn-utils.ts +531 -0
- package/src/lib/vendored/cookie.ts +383 -0
- package/src/providers/42-school.ts +256 -0
- package/src/providers/apple.ts +206 -0
- package/src/providers/asgardeo.ts +118 -0
- package/src/providers/atlassian.ts +120 -0
- package/src/providers/auth0.ts +127 -0
- package/src/providers/authentik.ts +100 -0
- package/src/providers/azure-ad-b2c.ts +124 -0
- package/src/providers/azure-ad.ts +30 -0
- package/src/providers/azure-devops.ts +184 -0
- package/src/providers/bankid-no.ts +161 -0
- package/src/providers/battlenet.ts +107 -0
- package/src/providers/beyondidentity.ts +102 -0
- package/src/providers/bitbucket.ts +122 -0
- package/src/providers/box.ts +87 -0
- package/src/providers/boxyhq-saml.ts +148 -0
- package/src/providers/bungie.ts +192 -0
- package/src/providers/click-up.ts +104 -0
- package/src/providers/cognito.ts +94 -0
- package/src/providers/coinbase.ts +93 -0
- package/src/providers/concept2.ts +108 -0
- package/src/providers/credentials.ts +157 -0
- package/src/providers/descope.ts +105 -0
- package/src/providers/discord.ts +176 -0
- package/src/providers/dribbble.ts +122 -0
- package/src/providers/dropbox.ts +102 -0
- package/src/providers/duende-identity-server6.ts +101 -0
- package/src/providers/email.ts +60 -0
- package/src/providers/eventbrite.ts +105 -0
- package/src/providers/eveonline.ts +117 -0
- package/src/providers/facebook.ts +119 -0
- package/src/providers/faceit.ts +90 -0
- package/src/providers/figma.ts +105 -0
- package/src/providers/forwardemail.ts +37 -0
- package/src/providers/foursquare.ts +105 -0
- package/src/providers/freshbooks.ts +90 -0
- package/src/providers/frontegg.ts +111 -0
- package/src/providers/fusionauth.ts +336 -0
- package/src/providers/github.ts +187 -0
- package/src/providers/gitlab.ts +140 -0
- package/src/providers/google.ts +152 -0
- package/src/providers/hubspot.ts +117 -0
- package/src/providers/huggingface.ts +234 -0
- package/src/providers/identity-server4.ts +78 -0
- package/src/providers/index.ts +115 -0
- package/src/providers/instagram.ts +103 -0
- package/src/providers/kakao.ts +184 -0
- package/src/providers/keycloak.ts +111 -0
- package/src/providers/kinde.ts +85 -0
- package/src/providers/line.ts +99 -0
- package/src/providers/linkedin.ts +91 -0
- package/src/providers/logto.ts +122 -0
- package/src/providers/loops.ts +79 -0
- package/src/providers/mailchimp.ts +90 -0
- package/src/providers/mailgun.ts +98 -0
- package/src/providers/mailru.ts +75 -0
- package/src/providers/mastodon.ts +112 -0
- package/src/providers/mattermost.ts +154 -0
- package/src/providers/medium.ts +89 -0
- package/src/providers/microsoft-entra-id.ts +497 -0
- package/src/providers/naver.ts +102 -0
- package/src/providers/netlify.ts +90 -0
- package/src/providers/netsuite.ts +225 -0
- package/src/providers/nextcloud.ts +207 -0
- package/src/providers/nodemailer.ts +84 -0
- package/src/providers/notion.ts +166 -0
- package/src/providers/oauth.ts +310 -0
- package/src/providers/okta.ts +111 -0
- package/src/providers/onelogin.ts +75 -0
- package/src/providers/ory-hydra.ts +93 -0
- package/src/providers/osso.ts +91 -0
- package/src/providers/osu.ts +138 -0
- package/src/providers/passage.ts +103 -0
- package/src/providers/passkey.ts +94 -0
- package/src/providers/patreon.ts +98 -0
- package/src/providers/ping-id.ts +68 -0
- package/src/providers/pinterest.ts +106 -0
- package/src/providers/pipedrive.ts +120 -0
- package/src/providers/postmark.ts +38 -0
- package/src/providers/provider-types.ts +107 -0
- package/src/providers/reddit.ts +104 -0
- package/src/providers/resend.ts +35 -0
- package/src/providers/roblox.ts +94 -0
- package/src/providers/salesforce.ts +73 -0
- package/src/providers/sendgrid.ts +36 -0
- package/src/providers/simplelogin.ts +107 -0
- package/src/providers/slack.ts +115 -0
- package/src/providers/spotify.ts +99 -0
- package/src/providers/strava.ts +101 -0
- package/src/providers/threads.ts +135 -0
- package/src/providers/tiktok.ts +319 -0
- package/src/providers/todoist.ts +122 -0
- package/src/providers/trakt.ts +120 -0
- package/src/providers/twitch.ts +121 -0
- package/src/providers/twitter.ts +207 -0
- package/src/providers/united-effects.ts +89 -0
- package/src/providers/vipps.ts +86 -0
- package/src/providers/vk.ts +401 -0
- package/src/providers/webauthn.ts +296 -0
- package/src/providers/webex.ts +102 -0
- package/src/providers/wechat.ts +141 -0
- package/src/providers/wikimedia.ts +258 -0
- package/src/providers/wordpress.ts +86 -0
- package/src/providers/workos.ts +180 -0
- package/src/providers/yandex.ts +159 -0
- package/src/providers/zitadel.ts +128 -0
- package/src/providers/zoho.ts +84 -0
- package/src/providers/zoom.ts +119 -0
- package/src/types.ts +430 -0
- package/src/warnings.ts +21 -0
- package/types.d.ts +309 -0
- package/types.d.ts.map +1 -0
- package/types.js +53 -0
- package/warnings.d.ts +17 -0
- package/warnings.d.ts.map +1 -0
- package/warnings.js +1 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <div class="provider" style={{ display: "flex", justifyContent: "space-between", color: "#fff" }}>
|
|
3
|
+
* <span>Built-in <b>Bitbucket</b> integration.</span>
|
|
4
|
+
* <a href="https://bitbucket.org">
|
|
5
|
+
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/bitbucket.svg" height="48" width="48"/>
|
|
6
|
+
* </a>
|
|
7
|
+
* </div>
|
|
8
|
+
*
|
|
9
|
+
* @module providers/bitbucket
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* ### Setup
|
|
14
|
+
*
|
|
15
|
+
* #### Callback URL
|
|
16
|
+
*
|
|
17
|
+
* ```ts
|
|
18
|
+
* https://example.com/api/auth/callback/bitbucket
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* #### Configuration
|
|
22
|
+
*
|
|
23
|
+
* ```ts
|
|
24
|
+
* import { Auth } from "@auth/core"
|
|
25
|
+
* import Bitbucket from "@auth/core/providers/bitbucket"
|
|
26
|
+
*
|
|
27
|
+
* const request = new Request(origin)
|
|
28
|
+
* const response = await Auth(request, {
|
|
29
|
+
* providers: [
|
|
30
|
+
* Bitbucket({
|
|
31
|
+
* clientId: process.env.BITBUCKET_CLIENT_ID,
|
|
32
|
+
* clientSecret: process.env.BITBUCKET_CLIENT_SECRET,
|
|
33
|
+
* })
|
|
34
|
+
* ],
|
|
35
|
+
* })
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* #### Resources
|
|
39
|
+
*
|
|
40
|
+
* - [Using OAuth on Bitbucket Cloud](https://support.atlassian.com/bitbucket-cloud/docs/use-oauth-on-bitbucket-cloud/)
|
|
41
|
+
* - [Bitbucket REST API Authentication](https://developer.atlassian.com/cloud/bitbucket/rest/intro/#authentication)
|
|
42
|
+
* - [Bitbucket REST API Users](https://developer.atlassian.com/cloud/bitbucket/rest/api-group-users/#api-group-users)
|
|
43
|
+
*
|
|
44
|
+
* #### Notes
|
|
45
|
+
*
|
|
46
|
+
* By default, Auth.js assumes that the Bitbucket provider is
|
|
47
|
+
* based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
|
|
48
|
+
*
|
|
49
|
+
* :::tip
|
|
50
|
+
*
|
|
51
|
+
* The Bitbucket provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/bitbucket.ts).
|
|
52
|
+
* To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
53
|
+
*
|
|
54
|
+
* :::
|
|
55
|
+
*
|
|
56
|
+
* :::info **Disclaimer**
|
|
57
|
+
*
|
|
58
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
59
|
+
*
|
|
60
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
61
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
62
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
63
|
+
*
|
|
64
|
+
* :::
|
|
65
|
+
*/
|
|
66
|
+
export default function Bitbucket(options) {
|
|
67
|
+
return {
|
|
68
|
+
id: "bitbucket",
|
|
69
|
+
name: "Bitbucket",
|
|
70
|
+
type: "oauth",
|
|
71
|
+
authorization: {
|
|
72
|
+
url: "https://bitbucket.org/site/oauth2/authorize",
|
|
73
|
+
params: {
|
|
74
|
+
scope: "account",
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
token: "https://bitbucket.org/site/oauth2/access_token",
|
|
78
|
+
userinfo: "https://api.bitbucket.org/2.0/user",
|
|
79
|
+
profile(profile) {
|
|
80
|
+
return {
|
|
81
|
+
name: profile.display_name ?? profile.username,
|
|
82
|
+
id: profile.account_id,
|
|
83
|
+
image: profile.links.avatar?.href,
|
|
84
|
+
};
|
|
85
|
+
},
|
|
86
|
+
options,
|
|
87
|
+
style: {
|
|
88
|
+
text: "#fff",
|
|
89
|
+
bg: "#205081",
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
|
|
3
|
+
* <span>Built-in <b>Box</b> integration.</span>
|
|
4
|
+
* <a href="https://box.com/">
|
|
5
|
+
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/box.svg" height="48" width="48"/>
|
|
6
|
+
* </a>
|
|
7
|
+
* </div>
|
|
8
|
+
*
|
|
9
|
+
* @module providers/box
|
|
10
|
+
*/
|
|
11
|
+
import type { OAuthConfig, OAuthUserConfig } from "./index.js";
|
|
12
|
+
/**
|
|
13
|
+
* Add Box login to your page.
|
|
14
|
+
*
|
|
15
|
+
* ### Setup
|
|
16
|
+
*
|
|
17
|
+
* #### Callback URL
|
|
18
|
+
* ```
|
|
19
|
+
* https://example.com/api/auth/callback/box
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* #### Configuration
|
|
23
|
+
*```ts
|
|
24
|
+
* import { Auth } from "@auth/core"
|
|
25
|
+
* import Box from "@auth/core/providers/box"
|
|
26
|
+
*
|
|
27
|
+
* const request = new Request(origin)
|
|
28
|
+
* const response = await Auth(request, {
|
|
29
|
+
* providers: [
|
|
30
|
+
* Box({ clientId: BOX_CLIENT_ID, clientSecret: BOX_CLIENT_SECRET }),
|
|
31
|
+
* ],
|
|
32
|
+
* })
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* ### Resources
|
|
36
|
+
*
|
|
37
|
+
* - [Box developers documentation](https://developer.box.com/reference/)
|
|
38
|
+
* - [Box OAuth documentation](https://developer.box.com/guides/sso-identities-and-app-users/connect-okta-to-app-users/configure-box/)
|
|
39
|
+
*
|
|
40
|
+
* ### Notes
|
|
41
|
+
*
|
|
42
|
+
* By default, Auth.js assumes that the Box provider is
|
|
43
|
+
* based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
|
|
44
|
+
*
|
|
45
|
+
* :::tip
|
|
46
|
+
*
|
|
47
|
+
* The Box provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/box.ts).
|
|
48
|
+
* To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
49
|
+
*
|
|
50
|
+
* :::
|
|
51
|
+
*
|
|
52
|
+
* :::info **Disclaimer**
|
|
53
|
+
*
|
|
54
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
55
|
+
*
|
|
56
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
57
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
58
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
59
|
+
*
|
|
60
|
+
* :::
|
|
61
|
+
*/
|
|
62
|
+
export default function Box(options: OAuthUserConfig<Record<string, any>>): OAuthConfig<Record<string, any>>;
|
|
63
|
+
//# sourceMappingURL=box.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../src/providers/box.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,CAAC,OAAO,UAAU,GAAG,CACzB,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAC5C,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAsBlC"}
|
package/providers/box.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Add Box login to your page.
|
|
3
|
+
*
|
|
4
|
+
* ### Setup
|
|
5
|
+
*
|
|
6
|
+
* #### Callback URL
|
|
7
|
+
* ```
|
|
8
|
+
* https://example.com/api/auth/callback/box
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* #### Configuration
|
|
12
|
+
*```ts
|
|
13
|
+
* import { Auth } from "@auth/core"
|
|
14
|
+
* import Box from "@auth/core/providers/box"
|
|
15
|
+
*
|
|
16
|
+
* const request = new Request(origin)
|
|
17
|
+
* const response = await Auth(request, {
|
|
18
|
+
* providers: [
|
|
19
|
+
* Box({ clientId: BOX_CLIENT_ID, clientSecret: BOX_CLIENT_SECRET }),
|
|
20
|
+
* ],
|
|
21
|
+
* })
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* ### Resources
|
|
25
|
+
*
|
|
26
|
+
* - [Box developers documentation](https://developer.box.com/reference/)
|
|
27
|
+
* - [Box OAuth documentation](https://developer.box.com/guides/sso-identities-and-app-users/connect-okta-to-app-users/configure-box/)
|
|
28
|
+
*
|
|
29
|
+
* ### Notes
|
|
30
|
+
*
|
|
31
|
+
* By default, Auth.js assumes that the Box provider is
|
|
32
|
+
* based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
|
|
33
|
+
*
|
|
34
|
+
* :::tip
|
|
35
|
+
*
|
|
36
|
+
* The Box provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/box.ts).
|
|
37
|
+
* To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
38
|
+
*
|
|
39
|
+
* :::
|
|
40
|
+
*
|
|
41
|
+
* :::info **Disclaimer**
|
|
42
|
+
*
|
|
43
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
44
|
+
*
|
|
45
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
46
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
47
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
48
|
+
*
|
|
49
|
+
* :::
|
|
50
|
+
*/
|
|
51
|
+
export default function Box(options) {
|
|
52
|
+
return {
|
|
53
|
+
id: "box",
|
|
54
|
+
name: "Box",
|
|
55
|
+
type: "oauth",
|
|
56
|
+
authorization: "https://account.box.com/api/oauth2/authorize",
|
|
57
|
+
token: "https://api.box.com/oauth2/token",
|
|
58
|
+
userinfo: "https://api.box.com/2.0/users/me",
|
|
59
|
+
profile(profile) {
|
|
60
|
+
return {
|
|
61
|
+
id: profile.id,
|
|
62
|
+
name: profile.name,
|
|
63
|
+
email: profile.login,
|
|
64
|
+
image: profile.avatar_url,
|
|
65
|
+
};
|
|
66
|
+
},
|
|
67
|
+
style: {
|
|
68
|
+
bg: "#0075C9",
|
|
69
|
+
text: "#fff",
|
|
70
|
+
},
|
|
71
|
+
options,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
|
|
3
|
+
* <span>Built-in <b>BoxyHQ SAML</b> integration.</span>
|
|
4
|
+
* <a href="https://boxyhq.com/">
|
|
5
|
+
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/boxyhq-saml.svg" height="48" width="48"/>
|
|
6
|
+
* </a>
|
|
7
|
+
* </div>
|
|
8
|
+
*
|
|
9
|
+
* @module providers/boxyhq-saml
|
|
10
|
+
*/
|
|
11
|
+
import type { OAuthConfig, OAuthUserConfig } from "./index.js";
|
|
12
|
+
export interface BoxyHQSAMLProfile extends Record<string, any> {
|
|
13
|
+
id: string;
|
|
14
|
+
email: string;
|
|
15
|
+
firstName?: string;
|
|
16
|
+
lastName?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Add BoxyHQ SAML login to your page.
|
|
20
|
+
*
|
|
21
|
+
* BoxyHQ SAML is an open source service that handles the SAML SSO login flow as an OAuth 2.0 flow, abstracting away all the complexities of the SAML protocol. Enable Enterprise single-sign-on in your app with ease.
|
|
22
|
+
*
|
|
23
|
+
* You can deploy BoxyHQ SAML as a separate service or embed it into your app using our NPM library. [Check out the documentation for more details](https://boxyhq.com/docs/jackson/deploy)
|
|
24
|
+
*
|
|
25
|
+
* ### Setup
|
|
26
|
+
*
|
|
27
|
+
* #### Callback URL
|
|
28
|
+
* ```
|
|
29
|
+
* https://example.com/api/auth/callback/boxyhq-saml
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* #### Configuration
|
|
33
|
+
*
|
|
34
|
+
* For OAuth 2.0 Flow:
|
|
35
|
+
*```ts
|
|
36
|
+
* import { Auth } from "@auth/core"
|
|
37
|
+
* import BoxyHQ from "@auth/core/providers/boxyhq-saml"
|
|
38
|
+
*
|
|
39
|
+
* const request = new Request(origin)
|
|
40
|
+
* const response = await Auth(request, {
|
|
41
|
+
* providers: [
|
|
42
|
+
* BoxyHQ({
|
|
43
|
+
* authorization: { params: { scope: "" } }, // This is needed for OAuth 2.0 flow, otherwise default to openid
|
|
44
|
+
* clientId: BOXYHQ_SAML_CLIENT_ID,
|
|
45
|
+
* clientSecret: BOXYHQ_SAML_CLIENT_SECRET,
|
|
46
|
+
* issuer: BOXYHQ_SAML_ISSUER,
|
|
47
|
+
* }),
|
|
48
|
+
* ],
|
|
49
|
+
* })
|
|
50
|
+
* ```
|
|
51
|
+
* For OIDC Flow:
|
|
52
|
+
*
|
|
53
|
+
*```ts
|
|
54
|
+
* import { Auth } from "@auth/core"
|
|
55
|
+
* import BoxyHQ from "@auth/core/providers/boxyhq-saml"
|
|
56
|
+
*
|
|
57
|
+
* const request = new Request(origin)
|
|
58
|
+
* const response = await Auth(request, {
|
|
59
|
+
* providers: [
|
|
60
|
+
* BoxyHQ({
|
|
61
|
+
* clientId: BOXYHQ_SAML_CLIENT_ID,
|
|
62
|
+
* clientSecret: BOXYHQ_SAML_CLIENT_SECRET,
|
|
63
|
+
* issuer: BOXYHQ_SAML_ISSUER,
|
|
64
|
+
* }),
|
|
65
|
+
* ],
|
|
66
|
+
* })
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* ### Resources
|
|
70
|
+
*
|
|
71
|
+
* - [BoxyHQ OAuth documentation](https://example.com)
|
|
72
|
+
*
|
|
73
|
+
* ## Configuration
|
|
74
|
+
*
|
|
75
|
+
* SAML login requires a configuration for every tenant of yours. One common method is to use the domain for an email address to figure out which tenant they belong to. You can also use a unique tenant ID (string) from your backend for this, typically some kind of account or organization ID.
|
|
76
|
+
*
|
|
77
|
+
* Check out the [documentation](https://boxyhq.com/docs/jackson/saml-flow#2-saml-config-api) for more details.
|
|
78
|
+
*
|
|
79
|
+
*
|
|
80
|
+
* On the client side you'll need to pass additional parameters `tenant` and `product` to the `signIn` function. This will allow BoxyHQL SAML to figure out the right SAML configuration and take your user to the right SAML Identity Provider to sign them in.
|
|
81
|
+
*
|
|
82
|
+
* ```tsx
|
|
83
|
+
* import { signIn } from "auth";
|
|
84
|
+
* ...
|
|
85
|
+
*
|
|
86
|
+
* // Map your users's email to a tenant and product
|
|
87
|
+
* const tenant = email.split("@")[1];
|
|
88
|
+
* const product = 'my_awesome_product';
|
|
89
|
+
* ...
|
|
90
|
+
* <Button
|
|
91
|
+
* onClick={async (event) => {
|
|
92
|
+
* event.preventDefault();
|
|
93
|
+
*
|
|
94
|
+
* signIn("boxyhq-saml", {}, { tenant, product });
|
|
95
|
+
* }}>
|
|
96
|
+
* ...
|
|
97
|
+
* ```
|
|
98
|
+
* ### Notes
|
|
99
|
+
*
|
|
100
|
+
* By default, Auth.js assumes that the BoxyHQ provider is
|
|
101
|
+
* based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
|
|
102
|
+
*
|
|
103
|
+
* :::tip
|
|
104
|
+
*
|
|
105
|
+
* The BoxyHQ provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/boxyhq-saml.ts).
|
|
106
|
+
* To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
107
|
+
*
|
|
108
|
+
* :::
|
|
109
|
+
*
|
|
110
|
+
* :::info **Disclaimer**
|
|
111
|
+
*
|
|
112
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
113
|
+
*
|
|
114
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
115
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
116
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
117
|
+
*
|
|
118
|
+
* :::
|
|
119
|
+
*/
|
|
120
|
+
export default function SAMLJackson<P extends BoxyHQSAMLProfile>(options: OAuthUserConfig<P>): OAuthConfig<P>;
|
|
121
|
+
//# sourceMappingURL=boxyhq-saml.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boxyhq-saml.d.ts","sourceRoot":"","sources":["../src/providers/boxyhq-saml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D,MAAM,WAAW,iBAAkB,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC5D,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,CAAC,SAAS,iBAAiB,EAC7D,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,WAAW,CAAC,CAAC,CAAC,CAwBhB"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Add BoxyHQ SAML login to your page.
|
|
3
|
+
*
|
|
4
|
+
* BoxyHQ SAML is an open source service that handles the SAML SSO login flow as an OAuth 2.0 flow, abstracting away all the complexities of the SAML protocol. Enable Enterprise single-sign-on in your app with ease.
|
|
5
|
+
*
|
|
6
|
+
* You can deploy BoxyHQ SAML as a separate service or embed it into your app using our NPM library. [Check out the documentation for more details](https://boxyhq.com/docs/jackson/deploy)
|
|
7
|
+
*
|
|
8
|
+
* ### Setup
|
|
9
|
+
*
|
|
10
|
+
* #### Callback URL
|
|
11
|
+
* ```
|
|
12
|
+
* https://example.com/api/auth/callback/boxyhq-saml
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* #### Configuration
|
|
16
|
+
*
|
|
17
|
+
* For OAuth 2.0 Flow:
|
|
18
|
+
*```ts
|
|
19
|
+
* import { Auth } from "@auth/core"
|
|
20
|
+
* import BoxyHQ from "@auth/core/providers/boxyhq-saml"
|
|
21
|
+
*
|
|
22
|
+
* const request = new Request(origin)
|
|
23
|
+
* const response = await Auth(request, {
|
|
24
|
+
* providers: [
|
|
25
|
+
* BoxyHQ({
|
|
26
|
+
* authorization: { params: { scope: "" } }, // This is needed for OAuth 2.0 flow, otherwise default to openid
|
|
27
|
+
* clientId: BOXYHQ_SAML_CLIENT_ID,
|
|
28
|
+
* clientSecret: BOXYHQ_SAML_CLIENT_SECRET,
|
|
29
|
+
* issuer: BOXYHQ_SAML_ISSUER,
|
|
30
|
+
* }),
|
|
31
|
+
* ],
|
|
32
|
+
* })
|
|
33
|
+
* ```
|
|
34
|
+
* For OIDC Flow:
|
|
35
|
+
*
|
|
36
|
+
*```ts
|
|
37
|
+
* import { Auth } from "@auth/core"
|
|
38
|
+
* import BoxyHQ from "@auth/core/providers/boxyhq-saml"
|
|
39
|
+
*
|
|
40
|
+
* const request = new Request(origin)
|
|
41
|
+
* const response = await Auth(request, {
|
|
42
|
+
* providers: [
|
|
43
|
+
* BoxyHQ({
|
|
44
|
+
* clientId: BOXYHQ_SAML_CLIENT_ID,
|
|
45
|
+
* clientSecret: BOXYHQ_SAML_CLIENT_SECRET,
|
|
46
|
+
* issuer: BOXYHQ_SAML_ISSUER,
|
|
47
|
+
* }),
|
|
48
|
+
* ],
|
|
49
|
+
* })
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* ### Resources
|
|
53
|
+
*
|
|
54
|
+
* - [BoxyHQ OAuth documentation](https://example.com)
|
|
55
|
+
*
|
|
56
|
+
* ## Configuration
|
|
57
|
+
*
|
|
58
|
+
* SAML login requires a configuration for every tenant of yours. One common method is to use the domain for an email address to figure out which tenant they belong to. You can also use a unique tenant ID (string) from your backend for this, typically some kind of account or organization ID.
|
|
59
|
+
*
|
|
60
|
+
* Check out the [documentation](https://boxyhq.com/docs/jackson/saml-flow#2-saml-config-api) for more details.
|
|
61
|
+
*
|
|
62
|
+
*
|
|
63
|
+
* On the client side you'll need to pass additional parameters `tenant` and `product` to the `signIn` function. This will allow BoxyHQL SAML to figure out the right SAML configuration and take your user to the right SAML Identity Provider to sign them in.
|
|
64
|
+
*
|
|
65
|
+
* ```tsx
|
|
66
|
+
* import { signIn } from "auth";
|
|
67
|
+
* ...
|
|
68
|
+
*
|
|
69
|
+
* // Map your users's email to a tenant and product
|
|
70
|
+
* const tenant = email.split("@")[1];
|
|
71
|
+
* const product = 'my_awesome_product';
|
|
72
|
+
* ...
|
|
73
|
+
* <Button
|
|
74
|
+
* onClick={async (event) => {
|
|
75
|
+
* event.preventDefault();
|
|
76
|
+
*
|
|
77
|
+
* signIn("boxyhq-saml", {}, { tenant, product });
|
|
78
|
+
* }}>
|
|
79
|
+
* ...
|
|
80
|
+
* ```
|
|
81
|
+
* ### Notes
|
|
82
|
+
*
|
|
83
|
+
* By default, Auth.js assumes that the BoxyHQ provider is
|
|
84
|
+
* based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
|
|
85
|
+
*
|
|
86
|
+
* :::tip
|
|
87
|
+
*
|
|
88
|
+
* The BoxyHQ provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/boxyhq-saml.ts).
|
|
89
|
+
* To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
90
|
+
*
|
|
91
|
+
* :::
|
|
92
|
+
*
|
|
93
|
+
* :::info **Disclaimer**
|
|
94
|
+
*
|
|
95
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
96
|
+
*
|
|
97
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
98
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
99
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
100
|
+
*
|
|
101
|
+
* :::
|
|
102
|
+
*/
|
|
103
|
+
export default function SAMLJackson(options) {
|
|
104
|
+
return {
|
|
105
|
+
id: "boxyhq-saml",
|
|
106
|
+
name: "BoxyHQ SAML",
|
|
107
|
+
type: "oauth",
|
|
108
|
+
authorization: {
|
|
109
|
+
url: `${options.issuer}/api/oauth/authorize`,
|
|
110
|
+
params: { provider: "saml" },
|
|
111
|
+
},
|
|
112
|
+
token: `${options.issuer}/api/oauth/token`,
|
|
113
|
+
userinfo: `${options.issuer}/api/oauth/userinfo`,
|
|
114
|
+
profile(profile) {
|
|
115
|
+
return {
|
|
116
|
+
id: profile.id,
|
|
117
|
+
email: profile.email,
|
|
118
|
+
name: [profile.firstName, profile.lastName].filter(Boolean).join(" "),
|
|
119
|
+
image: null,
|
|
120
|
+
};
|
|
121
|
+
},
|
|
122
|
+
style: {
|
|
123
|
+
brandColor: "#25c2a0",
|
|
124
|
+
},
|
|
125
|
+
options,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
|
|
3
|
+
* <span>Built-in <b>Bungie</b> integration.</span>
|
|
4
|
+
* <a href="https://bungie.net/">
|
|
5
|
+
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/bungie.svg" height="48" width="48"/>
|
|
6
|
+
* </a>
|
|
7
|
+
* </div>
|
|
8
|
+
*
|
|
9
|
+
* @module providers/bungie
|
|
10
|
+
*/
|
|
11
|
+
import type { OAuthConfig, OAuthUserConfig } from "./index.js";
|
|
12
|
+
/**
|
|
13
|
+
* Add Bungie login to your page.
|
|
14
|
+
*
|
|
15
|
+
* ### Setup
|
|
16
|
+
*
|
|
17
|
+
* #### Callback URL
|
|
18
|
+
* ```
|
|
19
|
+
* https://example.com/api/auth/callback/bungie
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* #### Configuration
|
|
23
|
+
*```ts
|
|
24
|
+
* import { Auth } from "@auth/core"
|
|
25
|
+
* import Bungie from "@auth/core/providers/bungie"
|
|
26
|
+
*
|
|
27
|
+
* const request = new Request(origin)
|
|
28
|
+
* const response = await Auth(request, {
|
|
29
|
+
* providers: [
|
|
30
|
+
* Bungie({
|
|
31
|
+
* clientId: BUNGIE_CLIENT_ID,
|
|
32
|
+
* clientSecret: BUNGIE_CLIENT_SECRET,
|
|
33
|
+
* headers: { "X-API-Key": BUNGIE_API_KEY },
|
|
34
|
+
* }),
|
|
35
|
+
* ],
|
|
36
|
+
* })
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* ### Resources
|
|
40
|
+
*
|
|
41
|
+
* - [Bungie OAuth documentation](https://github.com/Bungie-net/api/wiki/OAuth-Documentation)
|
|
42
|
+
*
|
|
43
|
+
* ## Configuration
|
|
44
|
+
*
|
|
45
|
+
* :::tip
|
|
46
|
+
* Bungie require all sites to run HTTPS (including local development instances).
|
|
47
|
+
* :::
|
|
48
|
+
*
|
|
49
|
+
* :::tip
|
|
50
|
+
* Bungie doesn't allow you to use localhost as the website URL, instead you need to use https://127.0.0.1:3000
|
|
51
|
+
* :::
|
|
52
|
+
*
|
|
53
|
+
* Navigate to https://www.bungie.net/en/Application and fill in the required details:
|
|
54
|
+
*
|
|
55
|
+
* - Application name
|
|
56
|
+
* - Application Status
|
|
57
|
+
* - Website
|
|
58
|
+
* - OAuth Client Type
|
|
59
|
+
* - Confidential
|
|
60
|
+
* - Redirect URL
|
|
61
|
+
* - https://localhost:3000/api/auth/callback/bungie
|
|
62
|
+
* - Scope
|
|
63
|
+
* - `Access items like your Bungie.net notifications, memberships, and recent Bungie.Net forum activity.`
|
|
64
|
+
* - Origin Header
|
|
65
|
+
*
|
|
66
|
+
* The following guide may be helpful:
|
|
67
|
+
*
|
|
68
|
+
* - [How to setup localhost with HTTPS with a Next.js app](https://medium.com/@anMagpie/secure-your-local-development-server-with-https-next-js-81ac6b8b3d68)
|
|
69
|
+
*
|
|
70
|
+
* #@example server
|
|
71
|
+
*
|
|
72
|
+
* You will need to edit your host file and point your site at `127.0.0.1`
|
|
73
|
+
*
|
|
74
|
+
* [How to edit my host file?](https://phoenixnap.com/kb/how-to-edit-hosts-file-in-windows-mac-or-linux)
|
|
75
|
+
*
|
|
76
|
+
* On Windows (Run PowerShell as administrator)
|
|
77
|
+
*
|
|
78
|
+
* ```ps
|
|
79
|
+
* Add-Content -Path C:\Windows\System32\drivers\etc\hosts -Value "127.0.0.1`tdev.example.com" -Force
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* ```
|
|
83
|
+
* 127.0.0.1 dev.example.com
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* ### Create certificate
|
|
87
|
+
*
|
|
88
|
+
* Creating a certificate for localhost is easy with openssl. Just put the following command in the terminal. The output will be two files: localhost.key and localhost.crt.
|
|
89
|
+
*
|
|
90
|
+
* ```bash
|
|
91
|
+
* openssl req -x509 -out localhost.crt -keyout localhost.key \
|
|
92
|
+
* -newkey rsa:2048 -nodes -sha256 \
|
|
93
|
+
* -subj "/CN=localhost" -extensions EXT -config <( \
|
|
94
|
+
* printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")
|
|
95
|
+
* ```
|
|
96
|
+
*
|
|
97
|
+
* :::tip
|
|
98
|
+
* **Windows**
|
|
99
|
+
*
|
|
100
|
+
* The OpenSSL executable is distributed with [Git](https://git-scm.com/download/win]9) for Windows.
|
|
101
|
+
* Once installed you will find the openssl.exe file in `C:/Program Files/Git/mingw64/bin` which you can add to the system PATH environment variable if it’s not already done.
|
|
102
|
+
*
|
|
103
|
+
* Add environment variable `OPENSSL_CONF=C:/Program Files/Git/mingw64/ssl/openssl.cnf`
|
|
104
|
+
*
|
|
105
|
+
* ```bash
|
|
106
|
+
* req -x509 -out localhost.crt -keyout localhost.key \
|
|
107
|
+
* -newkey rsa:2048 -nodes -sha256 \
|
|
108
|
+
* -subj "/CN=localhost"
|
|
109
|
+
* ```
|
|
110
|
+
*
|
|
111
|
+
* :::
|
|
112
|
+
*
|
|
113
|
+
* Create directory `certificates` and place `localhost.key` and `localhost.crt`
|
|
114
|
+
*
|
|
115
|
+
* You can create a `server.js` in the root of your project and run it with `node server.js` to test Sign in with Bungie integration locally:
|
|
116
|
+
*
|
|
117
|
+
* ```js
|
|
118
|
+
* const { createServer } = require("https")
|
|
119
|
+
* const { parse } = require("url")
|
|
120
|
+
* const next = require("next")
|
|
121
|
+
* const fs = require("fs")
|
|
122
|
+
*
|
|
123
|
+
* const dev = process.env.NODE_ENV !== "production"
|
|
124
|
+
* const app = next({ dev })
|
|
125
|
+
* const handle = app.getRequestHandler()
|
|
126
|
+
*
|
|
127
|
+
* const httpsOptions = {
|
|
128
|
+
* key: fs.readFileSync("./certificates/localhost.key"),
|
|
129
|
+
* cert: fs.readFileSync("./certificates/localhost.crt"),
|
|
130
|
+
* }
|
|
131
|
+
*
|
|
132
|
+
* app.prepare().then(() => {
|
|
133
|
+
* createServer(httpsOptions, (req, res) => {
|
|
134
|
+
* const parsedUrl = parse(req.url, true)
|
|
135
|
+
* handle(req, res, parsedUrl)
|
|
136
|
+
* }).listen(3000, (err) => {
|
|
137
|
+
* if (err) throw err
|
|
138
|
+
* console.log("> Ready on https://localhost:3000")
|
|
139
|
+
* })
|
|
140
|
+
* })
|
|
141
|
+
* ```
|
|
142
|
+
*
|
|
143
|
+
*
|
|
144
|
+
* ### Notes
|
|
145
|
+
*
|
|
146
|
+
* By default, Auth.js assumes that the Bungie provider is
|
|
147
|
+
* based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
|
|
148
|
+
*
|
|
149
|
+
* :::tip
|
|
150
|
+
*
|
|
151
|
+
* The Bungie provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/bungie.ts).
|
|
152
|
+
* To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
153
|
+
*
|
|
154
|
+
* :::
|
|
155
|
+
*
|
|
156
|
+
* :::info **Disclaimer**
|
|
157
|
+
*
|
|
158
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
159
|
+
*
|
|
160
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
161
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
162
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
163
|
+
*
|
|
164
|
+
* :::
|
|
165
|
+
*/
|
|
166
|
+
export default function Bungie(options: OAuthUserConfig<Record<string, any>>): OAuthConfig<Record<string, any>>;
|
|
167
|
+
//# sourceMappingURL=bungie.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bungie.d.ts","sourceRoot":"","sources":["../src/providers/bungie.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyJG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAC5C,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAuBlC"}
|