@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 @@
|
|
|
1
|
+
{"version":3,"file":"pipedrive.d.ts","sourceRoot":"","sources":["../src/providers/pipedrive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC3D,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,UAAU,CAAC,EAAE,IAAI,CAAA;QACjB,OAAO,CAAC,EAAE,IAAI,CAAA;QACd,QAAQ,CAAC,EAAE,IAAI,CAAA;QACf,qBAAqB,CAAC,EAAE,MAAM,CAAA;QAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAA;QAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,WAAW,CAAC,EAAE,OAAO,CAAA;QACrB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,EAAE;YACT,aAAa,CAAC,EAAE,MAAM,CAAA;YACtB,YAAY,CAAC,EAAE,MAAM,CAAA;SACtB,CAAA;KACF,CAAA;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,CAAC,SAAS,gBAAgB,EAC1D,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,WAAW,CAAC,CAAC,CAAC,CAkBhB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Add Pipedrive login to your page.
|
|
3
|
+
*
|
|
4
|
+
* ### Setup
|
|
5
|
+
*
|
|
6
|
+
* #### Callback URL
|
|
7
|
+
* ```
|
|
8
|
+
* https://example.com/api/auth/callback/pipedrive
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* #### Configuration
|
|
12
|
+
*```ts
|
|
13
|
+
* import { Auth } from "@auth/core"
|
|
14
|
+
* import Pipedrive from "@auth/core/providers/pipedrive"
|
|
15
|
+
*
|
|
16
|
+
* const request = new Request(origin)
|
|
17
|
+
* const response = await Auth(request, {
|
|
18
|
+
* providers: [
|
|
19
|
+
* Pipedrive({
|
|
20
|
+
* clientId: PIPEDRIVE_CLIENT_ID,
|
|
21
|
+
* clientSecret: PIPEDRIVE_CLIENT_SECRET,
|
|
22
|
+
* }),
|
|
23
|
+
* ],
|
|
24
|
+
* })
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* ### Resources
|
|
28
|
+
*
|
|
29
|
+
* - [Pipedrive OAuth documentation](https://pipedrive.readme.io/docs/marketplace-oauth-authorization)
|
|
30
|
+
*
|
|
31
|
+
* ### Notes
|
|
32
|
+
*
|
|
33
|
+
* By default, Auth.js assumes that the Pipedrive provider is
|
|
34
|
+
* based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
|
|
35
|
+
*
|
|
36
|
+
* :::tip
|
|
37
|
+
*
|
|
38
|
+
* The Pipedrive provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/pipedrive.ts).
|
|
39
|
+
* To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
40
|
+
*
|
|
41
|
+
* :::
|
|
42
|
+
*
|
|
43
|
+
* :::info **Disclaimer**
|
|
44
|
+
*
|
|
45
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
46
|
+
*
|
|
47
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
48
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
49
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
50
|
+
*
|
|
51
|
+
* :::
|
|
52
|
+
*/
|
|
53
|
+
export default function Pipedrive(options) {
|
|
54
|
+
return {
|
|
55
|
+
id: "pipedrive",
|
|
56
|
+
name: "Pipedrive",
|
|
57
|
+
type: "oauth",
|
|
58
|
+
authorization: "https://oauth.pipedrive.com/oauth/authorize",
|
|
59
|
+
token: "https://oauth.pipedrive.com/oauth/token",
|
|
60
|
+
userinfo: "https://api.pipedrive.com/users/me",
|
|
61
|
+
profile: ({ data: profile }) => {
|
|
62
|
+
return {
|
|
63
|
+
id: profile.id.toString(),
|
|
64
|
+
name: profile.name,
|
|
65
|
+
email: profile.email,
|
|
66
|
+
image: profile.icon_url,
|
|
67
|
+
};
|
|
68
|
+
},
|
|
69
|
+
options,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postmark.d.ts","sourceRoot":"","sources":["../src/providers/postmark.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAG9D,0BAA0B;AAC1B,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,CAiCrE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { html, text } from "../lib/utils/email.js";
|
|
2
|
+
/** @todo Document this */
|
|
3
|
+
export default function Postmark(config) {
|
|
4
|
+
return {
|
|
5
|
+
id: "postmark",
|
|
6
|
+
type: "email",
|
|
7
|
+
name: "Postmark",
|
|
8
|
+
from: "Auth.js <no-reply@authjs.dev>",
|
|
9
|
+
maxAge: 24 * 60 * 60,
|
|
10
|
+
async sendVerificationRequest(params) {
|
|
11
|
+
const { identifier: to, provider, url, theme } = params;
|
|
12
|
+
const { host } = new URL(url);
|
|
13
|
+
if (!provider.apiKey)
|
|
14
|
+
throw new TypeError("Missing Postmark API Key");
|
|
15
|
+
const res = await fetch("https://api.postmarkapp.com/email", {
|
|
16
|
+
method: "POST",
|
|
17
|
+
headers: {
|
|
18
|
+
Accept: "application/json",
|
|
19
|
+
"Content-Type": "application/json",
|
|
20
|
+
"X-Postmark-Server-Token": provider.apiKey,
|
|
21
|
+
},
|
|
22
|
+
body: JSON.stringify({
|
|
23
|
+
From: provider.from,
|
|
24
|
+
To: to,
|
|
25
|
+
Subject: `Sign in to ${host}`,
|
|
26
|
+
TextBody: text({ url, host }),
|
|
27
|
+
HtmlBody: html({ url, host, theme }),
|
|
28
|
+
MessageStream: "outbound",
|
|
29
|
+
}),
|
|
30
|
+
});
|
|
31
|
+
if (!res.ok)
|
|
32
|
+
throw new Error("Postmark error: " + JSON.stringify(await res.json()));
|
|
33
|
+
},
|
|
34
|
+
options: config,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type OAuthProviderId = "42-school" | "apple" | "asgardeo" | "atlassian" | "auth0" | "authentik" | "azure-ad-b2c" | "azure-ad" | "azure-devops" | "bankid-no" | "battlenet" | "beyondidentity" | "bitbucket" | "box" | "boxyhq-saml" | "bungie" | "click-up" | "cognito" | "coinbase" | "concept2" | "descope" | "discord" | "dribbble" | "dropbox" | "duende-identity-server6" | "eventbrite" | "eveonline" | "facebook" | "faceit" | "figma" | "foursquare" | "freshbooks" | "frontegg" | "fusionauth" | "github" | "gitlab" | "google" | "hubspot" | "huggingface" | "identity-server4" | "instagram" | "kakao" | "keycloak" | "kinde" | "line" | "linkedin" | "logto" | "loops" | "mailchimp" | "mailru" | "mastodon" | "mattermost" | "medium" | "microsoft-entra-id" | "naver" | "netlify" | "netsuite" | "nextcloud" | "notion" | "okta" | "onelogin" | "ory-hydra" | "osso" | "osu" | "passage" | "patreon" | "ping-id" | "pinterest" | "pipedrive" | "reddit" | "roblox" | "salesforce" | "simplelogin" | "slack" | "spotify" | "strava" | "threads" | "tiktok" | "todoist" | "trakt" | "twitch" | "twitter" | "united-effects" | "vipps" | "vk" | "webex" | "wechat" | "wikimedia" | "wordpress" | "workos" | "yandex" | "zitadel" | "zoho" | "zoom";
|
|
2
|
+
export type EmailProviderId = "email" | "forwardemail" | "mailgun" | "nodemailer" | "passkey" | "postmark" | "resend" | "sendgrid";
|
|
3
|
+
//# sourceMappingURL=provider-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-types.d.ts","sourceRoot":"","sources":["../src/providers/provider-types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,OAAO,GACP,UAAU,GACV,WAAW,GACX,OAAO,GACP,WAAW,GACX,cAAc,GACd,UAAU,GACV,cAAc,GACd,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,WAAW,GACX,KAAK,GACL,aAAa,GACb,QAAQ,GACR,UAAU,GACV,SAAS,GACT,UAAU,GACV,UAAU,GACV,SAAS,GACT,SAAS,GACT,UAAU,GACV,SAAS,GACT,yBAAyB,GACzB,YAAY,GACZ,WAAW,GACX,UAAU,GACV,QAAQ,GACR,OAAO,GACP,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,aAAa,GACb,kBAAkB,GAClB,WAAW,GACX,OAAO,GACP,UAAU,GACV,OAAO,GACP,MAAM,GACN,UAAU,GACV,OAAO,GACP,OAAO,GACP,WAAW,GACX,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,oBAAoB,GACpB,OAAO,GACP,SAAS,GACT,UAAU,GACV,WAAW,GACX,QAAQ,GACR,MAAM,GACN,UAAU,GACV,WAAW,GACX,MAAM,GACN,KAAK,GACL,SAAS,GACT,SAAS,GACT,SAAS,GACT,WAAW,GACX,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,aAAa,GACb,OAAO,GACP,SAAS,GACT,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,SAAS,GACT,gBAAgB,GAChB,OAAO,GACP,IAAI,GACJ,OAAO,GACP,QAAQ,GACR,WAAW,GACX,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,MAAM,CAAA;AAEV,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,cAAc,GACd,SAAS,GACT,YAAY,GACZ,SAAS,GACT,UAAU,GACV,QAAQ,GACR,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
|
|
3
|
+
* <span>Built-in <b>Reddit</b> integration.</span>
|
|
4
|
+
* <a href="https://www.reddit.com/">
|
|
5
|
+
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/reddit.svg" height="48" />
|
|
6
|
+
* </a>
|
|
7
|
+
* </div>
|
|
8
|
+
*
|
|
9
|
+
* @module providers/reddit
|
|
10
|
+
*/
|
|
11
|
+
import type { OAuthConfig, OAuthUserConfig } from "./index.js";
|
|
12
|
+
/**
|
|
13
|
+
* Add Reddit login to your page.
|
|
14
|
+
*
|
|
15
|
+
* ### Setup
|
|
16
|
+
*
|
|
17
|
+
* #### Callback URL
|
|
18
|
+
* ```
|
|
19
|
+
* https://example.com/api/auth/callback/reddit
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* #### Configuration
|
|
23
|
+
*```ts
|
|
24
|
+
* import { Auth } from "@auth/core"
|
|
25
|
+
* import Reddit from "@auth/core/providers/reddit"
|
|
26
|
+
*
|
|
27
|
+
* const request = new Request(origin)
|
|
28
|
+
* const response = await Auth(request, {
|
|
29
|
+
* providers: [
|
|
30
|
+
* Reddit({ clientId: REDDIT_CLIENT_ID, clientSecret: REDDIT_CLIENT_SECRET }),
|
|
31
|
+
* ],
|
|
32
|
+
* })
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* ### Resources
|
|
36
|
+
*
|
|
37
|
+
* - [Reddit API documentation](https://www.reddit.com/dev/api/)
|
|
38
|
+
* - [Reddit app console](https://www.reddit.com/prefs/apps/ )
|
|
39
|
+
*
|
|
40
|
+
* ### Notes
|
|
41
|
+
*
|
|
42
|
+
* By default, Auth.js assumes that the Reddit provider is
|
|
43
|
+
* based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
|
|
44
|
+
*
|
|
45
|
+
* :::danger
|
|
46
|
+
*
|
|
47
|
+
* Reddit requires authorization every time you go through their page.
|
|
48
|
+
* Only allows one callback URL per Client ID / Client Secret.
|
|
49
|
+
*
|
|
50
|
+
* :::
|
|
51
|
+
*
|
|
52
|
+
* :::tip
|
|
53
|
+
*
|
|
54
|
+
* This Provider template only has a one hour access token to it and only has the "identity" scope. If you want to get a refresh token as well you must follow this:
|
|
55
|
+
*```ts
|
|
56
|
+
* providers: [
|
|
57
|
+
* Reddit({
|
|
58
|
+
* clientId: process.env.REDDIT_CLIENT_ID,
|
|
59
|
+
* clientSecret: process.env.REDDIT_CLIENT_SECRET,
|
|
60
|
+
* authorization: {
|
|
61
|
+
* params: {
|
|
62
|
+
* duration: 'permanent',
|
|
63
|
+
* },
|
|
64
|
+
* },
|
|
65
|
+
* }),
|
|
66
|
+
* ]
|
|
67
|
+
* ```
|
|
68
|
+
* :::
|
|
69
|
+
*
|
|
70
|
+
* :::tip
|
|
71
|
+
*
|
|
72
|
+
* The Reddit provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/reddit.ts).
|
|
73
|
+
* To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
74
|
+
*
|
|
75
|
+
* :::
|
|
76
|
+
*
|
|
77
|
+
* :::info **Disclaimer**
|
|
78
|
+
*
|
|
79
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
80
|
+
*
|
|
81
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
82
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
83
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
84
|
+
*
|
|
85
|
+
* :::
|
|
86
|
+
*/
|
|
87
|
+
export default function Reddit(config: OAuthUserConfig<Record<string, any>>): OAuthConfig<Record<string, any>>;
|
|
88
|
+
//# sourceMappingURL=reddit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reddit.d.ts","sourceRoot":"","sources":["../src/providers/reddit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAC3C,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAclC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Add Reddit login to your page.
|
|
3
|
+
*
|
|
4
|
+
* ### Setup
|
|
5
|
+
*
|
|
6
|
+
* #### Callback URL
|
|
7
|
+
* ```
|
|
8
|
+
* https://example.com/api/auth/callback/reddit
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* #### Configuration
|
|
12
|
+
*```ts
|
|
13
|
+
* import { Auth } from "@auth/core"
|
|
14
|
+
* import Reddit from "@auth/core/providers/reddit"
|
|
15
|
+
*
|
|
16
|
+
* const request = new Request(origin)
|
|
17
|
+
* const response = await Auth(request, {
|
|
18
|
+
* providers: [
|
|
19
|
+
* Reddit({ clientId: REDDIT_CLIENT_ID, clientSecret: REDDIT_CLIENT_SECRET }),
|
|
20
|
+
* ],
|
|
21
|
+
* })
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* ### Resources
|
|
25
|
+
*
|
|
26
|
+
* - [Reddit API documentation](https://www.reddit.com/dev/api/)
|
|
27
|
+
* - [Reddit app console](https://www.reddit.com/prefs/apps/ )
|
|
28
|
+
*
|
|
29
|
+
* ### Notes
|
|
30
|
+
*
|
|
31
|
+
* By default, Auth.js assumes that the Reddit provider is
|
|
32
|
+
* based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
|
|
33
|
+
*
|
|
34
|
+
* :::danger
|
|
35
|
+
*
|
|
36
|
+
* Reddit requires authorization every time you go through their page.
|
|
37
|
+
* Only allows one callback URL per Client ID / Client Secret.
|
|
38
|
+
*
|
|
39
|
+
* :::
|
|
40
|
+
*
|
|
41
|
+
* :::tip
|
|
42
|
+
*
|
|
43
|
+
* This Provider template only has a one hour access token to it and only has the "identity" scope. If you want to get a refresh token as well you must follow this:
|
|
44
|
+
*```ts
|
|
45
|
+
* providers: [
|
|
46
|
+
* Reddit({
|
|
47
|
+
* clientId: process.env.REDDIT_CLIENT_ID,
|
|
48
|
+
* clientSecret: process.env.REDDIT_CLIENT_SECRET,
|
|
49
|
+
* authorization: {
|
|
50
|
+
* params: {
|
|
51
|
+
* duration: 'permanent',
|
|
52
|
+
* },
|
|
53
|
+
* },
|
|
54
|
+
* }),
|
|
55
|
+
* ]
|
|
56
|
+
* ```
|
|
57
|
+
* :::
|
|
58
|
+
*
|
|
59
|
+
* :::tip
|
|
60
|
+
*
|
|
61
|
+
* The Reddit provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/reddit.ts).
|
|
62
|
+
* To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
63
|
+
*
|
|
64
|
+
* :::
|
|
65
|
+
*
|
|
66
|
+
* :::info **Disclaimer**
|
|
67
|
+
*
|
|
68
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
69
|
+
*
|
|
70
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
71
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
72
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
73
|
+
*
|
|
74
|
+
* :::
|
|
75
|
+
*/
|
|
76
|
+
export default function Reddit(config) {
|
|
77
|
+
return {
|
|
78
|
+
id: "reddit",
|
|
79
|
+
name: "Reddit",
|
|
80
|
+
type: "oauth",
|
|
81
|
+
authorization: "https://www.reddit.com/api/v1/authorize?scope=identity",
|
|
82
|
+
token: "https://www.reddit.com/api/v1/access_token",
|
|
83
|
+
userinfo: "https://oauth.reddit.com/api/v1/me",
|
|
84
|
+
checks: ["state"],
|
|
85
|
+
style: {
|
|
86
|
+
brandColor: "#FF4500",
|
|
87
|
+
},
|
|
88
|
+
options: config,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resend.d.ts","sourceRoot":"","sources":["../src/providers/resend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAG9D,0BAA0B;AAC1B,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,CA8BnE"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { html, text } from "../lib/utils/email.js";
|
|
2
|
+
/** @todo Document this */
|
|
3
|
+
export default function Resend(config) {
|
|
4
|
+
return {
|
|
5
|
+
id: "resend",
|
|
6
|
+
type: "email",
|
|
7
|
+
name: "Resend",
|
|
8
|
+
from: "Auth.js <no-reply@authjs.dev>",
|
|
9
|
+
maxAge: 24 * 60 * 60,
|
|
10
|
+
async sendVerificationRequest(params) {
|
|
11
|
+
const { identifier: to, provider, url, theme } = params;
|
|
12
|
+
const { host } = new URL(url);
|
|
13
|
+
const res = await fetch("https://api.resend.com/emails", {
|
|
14
|
+
method: "POST",
|
|
15
|
+
headers: {
|
|
16
|
+
Authorization: `Bearer ${provider.apiKey}`,
|
|
17
|
+
"Content-Type": "application/json",
|
|
18
|
+
},
|
|
19
|
+
body: JSON.stringify({
|
|
20
|
+
from: provider.from,
|
|
21
|
+
to,
|
|
22
|
+
subject: `Sign in to ${host}`,
|
|
23
|
+
html: html({ url, host, theme }),
|
|
24
|
+
text: text({ url, host }),
|
|
25
|
+
}),
|
|
26
|
+
});
|
|
27
|
+
if (!res.ok)
|
|
28
|
+
throw new Error("Resend error: " + JSON.stringify(await res.json()));
|
|
29
|
+
},
|
|
30
|
+
options: config,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
|
|
3
|
+
* <span>Built-in <b>Roblox</b> integration.</span>
|
|
4
|
+
* <a href="https://roblox.com/">
|
|
5
|
+
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/roblox.svg" height="48" width="48"/>
|
|
6
|
+
* </a>
|
|
7
|
+
* </div>
|
|
8
|
+
*
|
|
9
|
+
* @module providers/roblox
|
|
10
|
+
*/
|
|
11
|
+
import type { OIDCUserConfig, OIDCConfig } from "./index.js";
|
|
12
|
+
/**
|
|
13
|
+
* Corresponds to the user structure documented here:
|
|
14
|
+
* https://create.roblox.com/docs/cloud/reference/oauth2 (Example User with Profile Scope)
|
|
15
|
+
*/
|
|
16
|
+
export interface RobloxProfile extends Record<string, any> {
|
|
17
|
+
sub: string;
|
|
18
|
+
name: string;
|
|
19
|
+
nickname: string;
|
|
20
|
+
preferred_username: string;
|
|
21
|
+
created_at: number;
|
|
22
|
+
profile: string;
|
|
23
|
+
picture: string | null;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Add Roblox login to your page.
|
|
27
|
+
*
|
|
28
|
+
* ### Setup
|
|
29
|
+
*
|
|
30
|
+
* #### Callback URL
|
|
31
|
+
* ```
|
|
32
|
+
* https://example.com/api/auth/callback/roblox
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* #### Configuration
|
|
36
|
+
*```ts
|
|
37
|
+
* import { Auth } from "@auth/core"
|
|
38
|
+
* import Roblox from "@auth/providers/roblox"
|
|
39
|
+
*
|
|
40
|
+
* const request = new Request(origin)
|
|
41
|
+
* const response = await Auth(request, {
|
|
42
|
+
* providers: [
|
|
43
|
+
* Roblox({
|
|
44
|
+
* clientId: AUTH_ROBLOX_ID,
|
|
45
|
+
* clientSecret: AUTH_ROBLOX_SECRET,
|
|
46
|
+
* }),
|
|
47
|
+
* ],
|
|
48
|
+
* })
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* ### Resources
|
|
52
|
+
*
|
|
53
|
+
* - [Roblox OAuth documentation](https://create.roblox.com/docs/cloud/open-cloud/oauth2-overview)
|
|
54
|
+
* - [Roblox OAuth apps](https://create.roblox.com/dashboard/credentials?activeTab=OAuthTab)
|
|
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 Roblox(options: OIDCUserConfig<RobloxProfile>): OIDCConfig<RobloxProfile>;
|
|
67
|
+
//# sourceMappingURL=roblox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roblox.d.ts","sourceRoot":"","sources":["../src/providers/roblox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5D;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAExD,GAAG,EAAE,MAAM,CAAA;IAGX,IAAI,EAAE,MAAM,CAAA;IAGZ,QAAQ,EAAE,MAAM,CAAA;IAGhB,kBAAkB,EAAE,MAAM,CAAA;IAG1B,UAAU,EAAE,MAAM,CAAA;IAGlB,OAAO,EAAE,MAAM,CAAA;IAGf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,OAAO,EAAE,cAAc,CAAC,aAAa,CAAC,GACrC,UAAU,CAAC,aAAa,CAAC,CAW3B"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Add Roblox login to your page.
|
|
3
|
+
*
|
|
4
|
+
* ### Setup
|
|
5
|
+
*
|
|
6
|
+
* #### Callback URL
|
|
7
|
+
* ```
|
|
8
|
+
* https://example.com/api/auth/callback/roblox
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* #### Configuration
|
|
12
|
+
*```ts
|
|
13
|
+
* import { Auth } from "@auth/core"
|
|
14
|
+
* import Roblox from "@auth/providers/roblox"
|
|
15
|
+
*
|
|
16
|
+
* const request = new Request(origin)
|
|
17
|
+
* const response = await Auth(request, {
|
|
18
|
+
* providers: [
|
|
19
|
+
* Roblox({
|
|
20
|
+
* clientId: AUTH_ROBLOX_ID,
|
|
21
|
+
* clientSecret: AUTH_ROBLOX_SECRET,
|
|
22
|
+
* }),
|
|
23
|
+
* ],
|
|
24
|
+
* })
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* ### Resources
|
|
28
|
+
*
|
|
29
|
+
* - [Roblox OAuth documentation](https://create.roblox.com/docs/cloud/open-cloud/oauth2-overview)
|
|
30
|
+
* - [Roblox OAuth apps](https://create.roblox.com/dashboard/credentials?activeTab=OAuthTab)
|
|
31
|
+
*
|
|
32
|
+
* :::info **Disclaimer**
|
|
33
|
+
*
|
|
34
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
35
|
+
*
|
|
36
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
37
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
38
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
39
|
+
*
|
|
40
|
+
* :::
|
|
41
|
+
*/
|
|
42
|
+
export default function Roblox(options) {
|
|
43
|
+
return {
|
|
44
|
+
id: "roblox",
|
|
45
|
+
name: "Roblox",
|
|
46
|
+
type: "oidc",
|
|
47
|
+
authorization: { params: { scope: "openid profile" } },
|
|
48
|
+
issuer: "https://apis.roblox.com/oauth/",
|
|
49
|
+
checks: ["pkce", "state"],
|
|
50
|
+
style: { bg: "#5865F2", text: "#fff" },
|
|
51
|
+
options,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <div class="provider" style={{backgroundColor: "#00a1e0", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
|
|
3
|
+
* <span>Built-in <b>Salesforce</b> integration.</span>
|
|
4
|
+
* <a href="https://www.salesforce.com/ap/?ir=1">
|
|
5
|
+
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/salesforce.svg" height="48" />
|
|
6
|
+
* </a>
|
|
7
|
+
* </div>
|
|
8
|
+
*
|
|
9
|
+
* @module providers/salesforce
|
|
10
|
+
*/
|
|
11
|
+
import type { OIDCConfig, OIDCUserConfig } from "./index.js";
|
|
12
|
+
export interface SalesforceProfile extends Record<string, any> {
|
|
13
|
+
sub: string;
|
|
14
|
+
nickname: string;
|
|
15
|
+
email: string;
|
|
16
|
+
picture: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* ### Setup
|
|
20
|
+
*
|
|
21
|
+
* #### Callback URL
|
|
22
|
+
* ```
|
|
23
|
+
* https://example.com/api/auth/callback/salesforce
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* #### Configuration
|
|
27
|
+
* ```ts
|
|
28
|
+
* import { Auth } from "@auth/core"
|
|
29
|
+
* import Salesforce from "@auth/core/providers/salesforce"
|
|
30
|
+
*
|
|
31
|
+
* const request = new Request(origin)
|
|
32
|
+
* const response = await Auth(request, {
|
|
33
|
+
* providers: [
|
|
34
|
+
* Salesforce({
|
|
35
|
+
* clientId: AUTH_SALESFORCE_ID,
|
|
36
|
+
* clientSecret: AUTH_SALESFORCE_SECRET,
|
|
37
|
+
* }),
|
|
38
|
+
* ],
|
|
39
|
+
* })
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* ### Resources
|
|
43
|
+
*
|
|
44
|
+
* - [Auth0 docs](https://auth0.com/docs/authenticate)
|
|
45
|
+
*
|
|
46
|
+
* ### Notes
|
|
47
|
+
*
|
|
48
|
+
* The Salesforce provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/salesforce.ts). 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
|
+
* ## Help
|
|
51
|
+
*
|
|
52
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
53
|
+
*
|
|
54
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
55
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
56
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
57
|
+
*/
|
|
58
|
+
export default function Salesforce(options: OIDCUserConfig<SalesforceProfile>): OIDCConfig<SalesforceProfile>;
|
|
59
|
+
//# sourceMappingURL=salesforce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"salesforce.d.ts","sourceRoot":"","sources":["../src/providers/salesforce.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE5D,MAAM,WAAW,iBAAkB,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC5D,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,OAAO,EAAE,cAAc,CAAC,iBAAiB,CAAC,GACzC,UAAU,CAAC,iBAAiB,CAAC,CAW/B"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ### Setup
|
|
3
|
+
*
|
|
4
|
+
* #### Callback URL
|
|
5
|
+
* ```
|
|
6
|
+
* https://example.com/api/auth/callback/salesforce
|
|
7
|
+
* ```
|
|
8
|
+
*
|
|
9
|
+
* #### Configuration
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { Auth } from "@auth/core"
|
|
12
|
+
* import Salesforce from "@auth/core/providers/salesforce"
|
|
13
|
+
*
|
|
14
|
+
* const request = new Request(origin)
|
|
15
|
+
* const response = await Auth(request, {
|
|
16
|
+
* providers: [
|
|
17
|
+
* Salesforce({
|
|
18
|
+
* clientId: AUTH_SALESFORCE_ID,
|
|
19
|
+
* clientSecret: AUTH_SALESFORCE_SECRET,
|
|
20
|
+
* }),
|
|
21
|
+
* ],
|
|
22
|
+
* })
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* ### Resources
|
|
26
|
+
*
|
|
27
|
+
* - [Auth0 docs](https://auth0.com/docs/authenticate)
|
|
28
|
+
*
|
|
29
|
+
* ### Notes
|
|
30
|
+
*
|
|
31
|
+
* The Salesforce provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/salesforce.ts). To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
32
|
+
*
|
|
33
|
+
* ## Help
|
|
34
|
+
*
|
|
35
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
36
|
+
*
|
|
37
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
38
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
39
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
40
|
+
*/
|
|
41
|
+
export default function Salesforce(options) {
|
|
42
|
+
return {
|
|
43
|
+
id: "salesforce",
|
|
44
|
+
name: "Salesforce",
|
|
45
|
+
type: "oidc",
|
|
46
|
+
issuer: "https://login.salesforce.com",
|
|
47
|
+
idToken: false,
|
|
48
|
+
checks: ["pkce", "state", "nonce"],
|
|
49
|
+
style: { bg: "#00a1e0" },
|
|
50
|
+
options,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendgrid.d.ts","sourceRoot":"","sources":["../src/providers/sendgrid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAG9D,0BAA0B;AAC1B,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,CA+BrE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { html, text } from "../lib/utils/email.js";
|
|
2
|
+
/** @todo Document this */
|
|
3
|
+
export default function SendGrid(config) {
|
|
4
|
+
return {
|
|
5
|
+
id: "sendgrid",
|
|
6
|
+
type: "email",
|
|
7
|
+
name: "SendGrid",
|
|
8
|
+
from: "Auth.js <no-reply@authjs.dev>",
|
|
9
|
+
maxAge: 24 * 60 * 60,
|
|
10
|
+
async sendVerificationRequest(params) {
|
|
11
|
+
const { identifier: to, provider, url, theme } = params;
|
|
12
|
+
const { host } = new URL(url);
|
|
13
|
+
const res = await fetch("https://api.sendgrid.com/v3/mail/send", {
|
|
14
|
+
method: "POST",
|
|
15
|
+
headers: {
|
|
16
|
+
Authorization: `Bearer ${provider.apiKey}`,
|
|
17
|
+
"Content-Type": "application/json",
|
|
18
|
+
},
|
|
19
|
+
body: JSON.stringify({
|
|
20
|
+
personalizations: [{ to: [{ email: to }] }],
|
|
21
|
+
from: { email: provider.from },
|
|
22
|
+
subject: `Sign in to ${host}`,
|
|
23
|
+
content: [
|
|
24
|
+
{ type: "text/plain", value: text({ url, host }) },
|
|
25
|
+
{ type: "text/html", value: html({ url, host, theme }) },
|
|
26
|
+
],
|
|
27
|
+
}),
|
|
28
|
+
});
|
|
29
|
+
// REVIEW: Clean up error handling
|
|
30
|
+
if (!res.ok)
|
|
31
|
+
throw new Error("Sendgrid error: " + (await res.text()));
|
|
32
|
+
},
|
|
33
|
+
options: config,
|
|
34
|
+
};
|
|
35
|
+
}
|