@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,334 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
|
|
3
|
+
* <span>Built-in <b>VK</b> integration.</span>
|
|
4
|
+
* <a href="https://vk.com/">
|
|
5
|
+
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/vk.svg" height="48" />
|
|
6
|
+
* </a>
|
|
7
|
+
* </div>
|
|
8
|
+
*
|
|
9
|
+
* @module providers/vk
|
|
10
|
+
*/
|
|
11
|
+
import type { OAuthConfig, OAuthUserConfig } from "./index.js";
|
|
12
|
+
/** https://dev.vk.com/reference/objects/user */
|
|
13
|
+
export interface VkProfile {
|
|
14
|
+
id: number;
|
|
15
|
+
first_name: string;
|
|
16
|
+
last_name: string;
|
|
17
|
+
photo_100: string;
|
|
18
|
+
can_access_closed: boolean;
|
|
19
|
+
is_closed: boolean;
|
|
20
|
+
deactivated?: string;
|
|
21
|
+
sex?: 0 | 1 | 2;
|
|
22
|
+
screen_name?: string;
|
|
23
|
+
photo_50?: string;
|
|
24
|
+
online?: 0 | 1;
|
|
25
|
+
online_mobile?: 0 | 1;
|
|
26
|
+
online_app?: number;
|
|
27
|
+
verified?: 0 | 1;
|
|
28
|
+
trending?: 0 | 1;
|
|
29
|
+
friend_status?: 0 | 1 | 2 | 3;
|
|
30
|
+
first_name_nom?: string;
|
|
31
|
+
first_name_gen?: string;
|
|
32
|
+
first_name_dat?: string;
|
|
33
|
+
first_name_acc?: string;
|
|
34
|
+
first_name_ins?: string;
|
|
35
|
+
first_name_abl?: string;
|
|
36
|
+
last_name_nom?: string;
|
|
37
|
+
last_name_gen?: string;
|
|
38
|
+
last_name_dat?: string;
|
|
39
|
+
last_name_acc?: string;
|
|
40
|
+
last_name_ins?: string;
|
|
41
|
+
last_name_abl?: string;
|
|
42
|
+
nickname?: string;
|
|
43
|
+
maiden_name?: string;
|
|
44
|
+
domain?: string;
|
|
45
|
+
bdate?: string;
|
|
46
|
+
city?: {
|
|
47
|
+
id: number;
|
|
48
|
+
title: string;
|
|
49
|
+
};
|
|
50
|
+
country?: {
|
|
51
|
+
id: number;
|
|
52
|
+
title: string;
|
|
53
|
+
};
|
|
54
|
+
timezone?: number;
|
|
55
|
+
photo_200?: string;
|
|
56
|
+
photo_max?: string;
|
|
57
|
+
photo_200_orig?: string;
|
|
58
|
+
photo_400_orig?: string;
|
|
59
|
+
photo_max_orig?: string;
|
|
60
|
+
photo_id?: string;
|
|
61
|
+
has_photo?: 0 | 1;
|
|
62
|
+
has_mobile?: 0 | 1;
|
|
63
|
+
is_friend?: 0 | 1;
|
|
64
|
+
can_post?: 0 | 1;
|
|
65
|
+
can_see_all_posts?: 0 | 1;
|
|
66
|
+
can_see_audio?: 0 | 1;
|
|
67
|
+
connections?: {
|
|
68
|
+
facebook?: string;
|
|
69
|
+
skype?: string;
|
|
70
|
+
twitter?: string;
|
|
71
|
+
livejournal?: string;
|
|
72
|
+
instagram?: string;
|
|
73
|
+
};
|
|
74
|
+
photo_400?: string;
|
|
75
|
+
wall_default?: "owner" | "all";
|
|
76
|
+
interests?: string;
|
|
77
|
+
books?: string;
|
|
78
|
+
tv?: string;
|
|
79
|
+
quotes?: string;
|
|
80
|
+
about?: string;
|
|
81
|
+
games?: string;
|
|
82
|
+
movies?: string;
|
|
83
|
+
activities?: string;
|
|
84
|
+
music?: string;
|
|
85
|
+
can_write_private_message?: 0 | 1;
|
|
86
|
+
can_send_friend_request?: 0 | 1;
|
|
87
|
+
contacts?: {
|
|
88
|
+
mobile_phone?: string;
|
|
89
|
+
home_phone?: string;
|
|
90
|
+
};
|
|
91
|
+
site?: string;
|
|
92
|
+
status_audio?: {
|
|
93
|
+
access_key?: string;
|
|
94
|
+
artist: string;
|
|
95
|
+
id: number;
|
|
96
|
+
owner_id: number;
|
|
97
|
+
title: string;
|
|
98
|
+
url?: string;
|
|
99
|
+
duration: number;
|
|
100
|
+
date?: number;
|
|
101
|
+
album_id?: number;
|
|
102
|
+
genre_id?: number;
|
|
103
|
+
performer?: string;
|
|
104
|
+
};
|
|
105
|
+
status?: string;
|
|
106
|
+
last_seen?: {
|
|
107
|
+
platform?: 1 | 2 | 3 | 4 | 5 | 6 | 7;
|
|
108
|
+
time?: number;
|
|
109
|
+
};
|
|
110
|
+
exports?: {
|
|
111
|
+
facebook?: number;
|
|
112
|
+
livejournal?: number;
|
|
113
|
+
twitter?: number;
|
|
114
|
+
instagram?: number;
|
|
115
|
+
};
|
|
116
|
+
crop_photo?: {
|
|
117
|
+
photo: {
|
|
118
|
+
access_key?: string;
|
|
119
|
+
album_id: number;
|
|
120
|
+
date: number;
|
|
121
|
+
height?: number;
|
|
122
|
+
id: number;
|
|
123
|
+
images?: Array<{
|
|
124
|
+
height?: number;
|
|
125
|
+
type?: "s" | "m" | "x" | "l" | "o" | "p" | "q" | "r" | "y" | "z" | "w";
|
|
126
|
+
url?: string;
|
|
127
|
+
width?: number;
|
|
128
|
+
}>;
|
|
129
|
+
lat?: number;
|
|
130
|
+
long?: number;
|
|
131
|
+
owner_id: number;
|
|
132
|
+
photo_256?: string;
|
|
133
|
+
can_comment?: 0 | 1;
|
|
134
|
+
place?: string;
|
|
135
|
+
post_id?: number;
|
|
136
|
+
sizes?: Array<{
|
|
137
|
+
height: number;
|
|
138
|
+
url: string;
|
|
139
|
+
src?: string;
|
|
140
|
+
type: "s" | "m" | "x" | "o" | "p" | "q" | "r" | "k" | "l" | "y" | "z" | "c" | "w" | "a" | "b" | "e" | "i" | "d" | "j" | "temp" | "h" | "g" | "n" | "f" | "max";
|
|
141
|
+
width: number;
|
|
142
|
+
}>;
|
|
143
|
+
text?: string;
|
|
144
|
+
user_id?: number;
|
|
145
|
+
width?: number;
|
|
146
|
+
has_tags: boolean;
|
|
147
|
+
};
|
|
148
|
+
crop: {
|
|
149
|
+
x: number;
|
|
150
|
+
y: number;
|
|
151
|
+
x2: number;
|
|
152
|
+
y2: number;
|
|
153
|
+
};
|
|
154
|
+
rect: {
|
|
155
|
+
x: number;
|
|
156
|
+
y: number;
|
|
157
|
+
x2: number;
|
|
158
|
+
y2: number;
|
|
159
|
+
};
|
|
160
|
+
};
|
|
161
|
+
followers_count?: number;
|
|
162
|
+
blacklisted?: 0 | 1;
|
|
163
|
+
blacklisted_by_me?: 0 | 1;
|
|
164
|
+
is_favorite?: 0 | 1;
|
|
165
|
+
is_hidden_from_feed?: 0 | 1;
|
|
166
|
+
common_count?: number;
|
|
167
|
+
occupation?: {
|
|
168
|
+
id?: number;
|
|
169
|
+
name?: string;
|
|
170
|
+
type?: "work" | "school" | "university";
|
|
171
|
+
};
|
|
172
|
+
career?: {
|
|
173
|
+
group_id?: number;
|
|
174
|
+
company?: string;
|
|
175
|
+
country_id?: number;
|
|
176
|
+
city_id?: number;
|
|
177
|
+
city_name?: string;
|
|
178
|
+
from?: number;
|
|
179
|
+
until?: number;
|
|
180
|
+
position?: string;
|
|
181
|
+
};
|
|
182
|
+
military?: {
|
|
183
|
+
country_id: number;
|
|
184
|
+
from?: number;
|
|
185
|
+
unit: string;
|
|
186
|
+
unit_id: number;
|
|
187
|
+
until?: number;
|
|
188
|
+
};
|
|
189
|
+
education?: {
|
|
190
|
+
university?: number;
|
|
191
|
+
university_name?: string;
|
|
192
|
+
faculty?: number;
|
|
193
|
+
faculty_name?: string;
|
|
194
|
+
graduation?: number;
|
|
195
|
+
};
|
|
196
|
+
home_town?: string;
|
|
197
|
+
relation?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
|
|
198
|
+
relation_partner?: {
|
|
199
|
+
deactivated?: string;
|
|
200
|
+
first_name: string;
|
|
201
|
+
hidden?: number;
|
|
202
|
+
id: number;
|
|
203
|
+
last_name: string;
|
|
204
|
+
can_access_closed?: boolean;
|
|
205
|
+
is_closed?: boolean;
|
|
206
|
+
};
|
|
207
|
+
personal?: {
|
|
208
|
+
alcohol?: 1 | 2 | 3 | 4 | 5;
|
|
209
|
+
inspired_by?: string;
|
|
210
|
+
langs?: string[];
|
|
211
|
+
life_main?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
|
|
212
|
+
people_main?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
213
|
+
political?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
|
|
214
|
+
religion?: string;
|
|
215
|
+
smoking?: 1 | 2 | 3 | 4 | 5;
|
|
216
|
+
};
|
|
217
|
+
universities?: Array<{
|
|
218
|
+
chair?: number;
|
|
219
|
+
chair_name?: string;
|
|
220
|
+
city?: number;
|
|
221
|
+
country?: number;
|
|
222
|
+
education_form?: string;
|
|
223
|
+
education_status?: string;
|
|
224
|
+
faculty?: number;
|
|
225
|
+
faculty_name?: string;
|
|
226
|
+
graduation?: number;
|
|
227
|
+
id?: number;
|
|
228
|
+
name?: string;
|
|
229
|
+
university_group_id?: number;
|
|
230
|
+
}>;
|
|
231
|
+
schools?: Array<{
|
|
232
|
+
city?: number;
|
|
233
|
+
class?: string;
|
|
234
|
+
country?: number;
|
|
235
|
+
id?: string;
|
|
236
|
+
name?: string;
|
|
237
|
+
type?: number;
|
|
238
|
+
type_str?: string;
|
|
239
|
+
year_from?: number;
|
|
240
|
+
year_graduated?: number;
|
|
241
|
+
year_to?: number;
|
|
242
|
+
speciality?: string;
|
|
243
|
+
}>;
|
|
244
|
+
relatives?: Array<{
|
|
245
|
+
id?: number;
|
|
246
|
+
name?: string;
|
|
247
|
+
type: "parent" | "child" | "grandparent" | "grandchild" | "sibling";
|
|
248
|
+
}>;
|
|
249
|
+
counters?: {
|
|
250
|
+
albums?: number;
|
|
251
|
+
videos?: number;
|
|
252
|
+
audios?: number;
|
|
253
|
+
photos?: number;
|
|
254
|
+
notes?: number;
|
|
255
|
+
friends?: number;
|
|
256
|
+
groups?: number;
|
|
257
|
+
online_friends?: number;
|
|
258
|
+
mutual_friends?: number;
|
|
259
|
+
user_videos?: number;
|
|
260
|
+
followers?: number;
|
|
261
|
+
pages?: number;
|
|
262
|
+
};
|
|
263
|
+
is_no_index?: 0 | 1;
|
|
264
|
+
email?: string;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Add VK login to your page.
|
|
268
|
+
*
|
|
269
|
+
* ### Setup
|
|
270
|
+
*
|
|
271
|
+
* #### Callback URL
|
|
272
|
+
* ```
|
|
273
|
+
* https://example.com/api/auth/callback/vk
|
|
274
|
+
* ```
|
|
275
|
+
*
|
|
276
|
+
* #### Configuration
|
|
277
|
+
*```ts
|
|
278
|
+
* import { Auth } from "@auth/core"
|
|
279
|
+
* import VK from "@auth/core/providers/vk"
|
|
280
|
+
*
|
|
281
|
+
* const request = new Request(origin)
|
|
282
|
+
* const response = await Auth(request, {
|
|
283
|
+
* providers: [VK({ clientId: VK_CLIENT_ID, clientSecret: VK_CLIENT_SECRET })],
|
|
284
|
+
* })
|
|
285
|
+
* ```
|
|
286
|
+
*
|
|
287
|
+
* ### Resources
|
|
288
|
+
*
|
|
289
|
+
* - [VK API documentation](https://vk.com/dev/first_guide)
|
|
290
|
+
* - [VK App configuration](https://vk.com/apps?act=manage)
|
|
291
|
+
*
|
|
292
|
+
* ### Notes
|
|
293
|
+
*
|
|
294
|
+
* By default, Auth.js assumes that the VK provider is
|
|
295
|
+
* based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
|
|
296
|
+
*
|
|
297
|
+
* :::tip
|
|
298
|
+
*
|
|
299
|
+
* The VK provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/vk.ts).
|
|
300
|
+
* To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
301
|
+
*
|
|
302
|
+
* :::
|
|
303
|
+
*
|
|
304
|
+
* :::note
|
|
305
|
+
*
|
|
306
|
+
* By default the provider uses 5.126 version of the API. See https://vk.com/dev/versions for more info.
|
|
307
|
+
* If you want to use a different version, you can pass it to provider's options object:
|
|
308
|
+
* ```ts
|
|
309
|
+
* const apiVersion = "5.126"
|
|
310
|
+
* providers: [
|
|
311
|
+
* Vk({
|
|
312
|
+
* accessTokenUrl: `https://oauth.vk.com/access_token?v=${apiVersion}`,
|
|
313
|
+
* requestTokenUrl: `https://oauth.vk.com/access_token?v=${apiVersion}`,
|
|
314
|
+
* authorizationUrl:
|
|
315
|
+
* `https://oauth.vk.com/authorize?response_type=code&v=${apiVersion}`,
|
|
316
|
+
* profileUrl: `https://api.vk.com/method/users.get?fields=photo_100&v=${apiVersion}`,
|
|
317
|
+
* })
|
|
318
|
+
* ]
|
|
319
|
+
* ```
|
|
320
|
+
*
|
|
321
|
+
* :::
|
|
322
|
+
*
|
|
323
|
+
* :::info **Disclaimer**
|
|
324
|
+
*
|
|
325
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
326
|
+
*
|
|
327
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
328
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
329
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
330
|
+
*
|
|
331
|
+
* :::
|
|
332
|
+
*/
|
|
333
|
+
export default function VK<P extends Record<string, any> = VkProfile>(options: OAuthUserConfig<P>): OAuthConfig<P>;
|
|
334
|
+
//# sourceMappingURL=vk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vk.d.ts","sourceRoot":"","sources":["../src/providers/vk.ts"],"names":[],"mappings":"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"}
|
package/providers/vk.js
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Add VK login to your page.
|
|
3
|
+
*
|
|
4
|
+
* ### Setup
|
|
5
|
+
*
|
|
6
|
+
* #### Callback URL
|
|
7
|
+
* ```
|
|
8
|
+
* https://example.com/api/auth/callback/vk
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* #### Configuration
|
|
12
|
+
*```ts
|
|
13
|
+
* import { Auth } from "@auth/core"
|
|
14
|
+
* import VK from "@auth/core/providers/vk"
|
|
15
|
+
*
|
|
16
|
+
* const request = new Request(origin)
|
|
17
|
+
* const response = await Auth(request, {
|
|
18
|
+
* providers: [VK({ clientId: VK_CLIENT_ID, clientSecret: VK_CLIENT_SECRET })],
|
|
19
|
+
* })
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* ### Resources
|
|
23
|
+
*
|
|
24
|
+
* - [VK API documentation](https://vk.com/dev/first_guide)
|
|
25
|
+
* - [VK App configuration](https://vk.com/apps?act=manage)
|
|
26
|
+
*
|
|
27
|
+
* ### Notes
|
|
28
|
+
*
|
|
29
|
+
* By default, Auth.js assumes that the VK provider is
|
|
30
|
+
* based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
|
|
31
|
+
*
|
|
32
|
+
* :::tip
|
|
33
|
+
*
|
|
34
|
+
* The VK provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/vk.ts).
|
|
35
|
+
* To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
36
|
+
*
|
|
37
|
+
* :::
|
|
38
|
+
*
|
|
39
|
+
* :::note
|
|
40
|
+
*
|
|
41
|
+
* By default the provider uses 5.126 version of the API. See https://vk.com/dev/versions for more info.
|
|
42
|
+
* If you want to use a different version, you can pass it to provider's options object:
|
|
43
|
+
* ```ts
|
|
44
|
+
* const apiVersion = "5.126"
|
|
45
|
+
* providers: [
|
|
46
|
+
* Vk({
|
|
47
|
+
* accessTokenUrl: `https://oauth.vk.com/access_token?v=${apiVersion}`,
|
|
48
|
+
* requestTokenUrl: `https://oauth.vk.com/access_token?v=${apiVersion}`,
|
|
49
|
+
* authorizationUrl:
|
|
50
|
+
* `https://oauth.vk.com/authorize?response_type=code&v=${apiVersion}`,
|
|
51
|
+
* profileUrl: `https://api.vk.com/method/users.get?fields=photo_100&v=${apiVersion}`,
|
|
52
|
+
* })
|
|
53
|
+
* ]
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* :::
|
|
57
|
+
*
|
|
58
|
+
* :::info **Disclaimer**
|
|
59
|
+
*
|
|
60
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
61
|
+
*
|
|
62
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
63
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
64
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
65
|
+
*
|
|
66
|
+
* :::
|
|
67
|
+
*/
|
|
68
|
+
export default function VK(options) {
|
|
69
|
+
const apiVersion = "5.131"; // https://vk.com/dev/versions
|
|
70
|
+
return {
|
|
71
|
+
id: "vk",
|
|
72
|
+
name: "VK",
|
|
73
|
+
type: "oauth",
|
|
74
|
+
authorization: `https://oauth.vk.com/authorize?scope=email&v=${apiVersion}`,
|
|
75
|
+
client: {
|
|
76
|
+
token_endpoint_auth_method: "client_secret_post",
|
|
77
|
+
},
|
|
78
|
+
token: `https://oauth.vk.com/access_token?v=${apiVersion}`,
|
|
79
|
+
userinfo: {
|
|
80
|
+
url: `https://api.vk.com/method/users.get?fields=photo_100&v=${apiVersion}`,
|
|
81
|
+
async request({ tokens, provider }) {
|
|
82
|
+
const profile = await fetch(provider.userinfo?.url, {
|
|
83
|
+
headers: {
|
|
84
|
+
Authorization: `Bearer ${tokens.access_token}`,
|
|
85
|
+
"User-Agent": "authjs",
|
|
86
|
+
},
|
|
87
|
+
}).then(async (res) => await res.json());
|
|
88
|
+
profile.response[0].email = tokens.email ? tokens.email : null;
|
|
89
|
+
return profile.response[0];
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
profile(profile) {
|
|
93
|
+
return {
|
|
94
|
+
id: profile.id,
|
|
95
|
+
name: [profile.first_name, profile.last_name].filter(Boolean).join(" "),
|
|
96
|
+
email: profile.email ?? null,
|
|
97
|
+
image: profile.photo_100,
|
|
98
|
+
};
|
|
99
|
+
},
|
|
100
|
+
style: { bg: "#07F", text: "#fff" },
|
|
101
|
+
options,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { generateAuthenticationOptions, generateRegistrationOptions, verifyAuthenticationResponse, verifyRegistrationResponse } from "@simplewebauthn/server";
|
|
2
|
+
import type { CommonProviderOptions, CredentialInput } from "./index.js";
|
|
3
|
+
import type { GenerateRegistrationOptionsOpts, GenerateAuthenticationOptionsOpts, VerifyAuthenticationResponseOpts, VerifyRegistrationResponseOpts } from "@simplewebauthn/server";
|
|
4
|
+
import type { InternalOptions, RequestInternal, SemverString, User } from "../types.js";
|
|
5
|
+
export type WebAuthnProviderType = "webauthn";
|
|
6
|
+
export declare const DEFAULT_WEBAUTHN_TIMEOUT: number;
|
|
7
|
+
export declare const DEFAULT_SIMPLEWEBAUTHN_BROWSER_VERSION: SemverString;
|
|
8
|
+
export type RelayingParty = {
|
|
9
|
+
/** Relaying Party ID. Use the website's domain name. */
|
|
10
|
+
id: string;
|
|
11
|
+
/** Relaying Party name. Use the website's name. */
|
|
12
|
+
name: string;
|
|
13
|
+
/** Relaying Party origin. Use the website's origin. */
|
|
14
|
+
origin: string;
|
|
15
|
+
};
|
|
16
|
+
type RelayingPartyArray = {
|
|
17
|
+
/** Relaying Party ID. Use the website's domain name. */
|
|
18
|
+
id: string | string[];
|
|
19
|
+
/** Relaying Party name. Use the website's name. */
|
|
20
|
+
name: string | string[];
|
|
21
|
+
/** Relaying Party origin. Use the website's origin. */
|
|
22
|
+
origin: string | string[];
|
|
23
|
+
};
|
|
24
|
+
export type GetUserInfo = (options: InternalOptions<WebAuthnProviderType>, request: RequestInternal) => Promise<{
|
|
25
|
+
user: User;
|
|
26
|
+
exists: true;
|
|
27
|
+
} | {
|
|
28
|
+
user: Omit<User, "id">;
|
|
29
|
+
exists: false;
|
|
30
|
+
} | null>;
|
|
31
|
+
type ConfigurableAuthenticationOptions = Omit<GenerateAuthenticationOptionsOpts, "rpID" | "allowCredentials" | "challenge">;
|
|
32
|
+
type ConfigurableRegistrationOptions = Omit<GenerateRegistrationOptionsOpts, "rpName" | "rpID" | "userID" | "userName" | "challenge" | "userDisplayName" | "excludeCredentials">;
|
|
33
|
+
type ConfigurableVerifyAuthenticationOptions = Omit<VerifyAuthenticationResponseOpts, "expectedChallenge" | "expectedOrigin" | "expectedRPID" | "authenticator" | "response">;
|
|
34
|
+
type ConfigurableVerifyRegistrationOptions = Omit<VerifyRegistrationResponseOpts, "expectedChallenge" | "expectedOrigin" | "expectedRPID" | "response">;
|
|
35
|
+
export interface WebAuthnConfig extends CommonProviderOptions {
|
|
36
|
+
type: WebAuthnProviderType;
|
|
37
|
+
/**
|
|
38
|
+
* Relaying party (RP) configuration
|
|
39
|
+
*
|
|
40
|
+
* If not provided, the request URL will be used.
|
|
41
|
+
**/
|
|
42
|
+
relayingParty?: Partial<RelayingPartyArray>;
|
|
43
|
+
/**
|
|
44
|
+
* Function that returns the relaying party for the current request.
|
|
45
|
+
*/
|
|
46
|
+
getRelayingParty: (options: InternalOptions<WebAuthnProviderType>, request: RequestInternal) => RelayingParty;
|
|
47
|
+
/**
|
|
48
|
+
* Enable conditional UI.
|
|
49
|
+
*
|
|
50
|
+
* NOTE: Only one provider can have this option enabled at a time. Defaults to `true`.
|
|
51
|
+
*/
|
|
52
|
+
enableConditionalUI: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Version of SimpleWebAuthn browser script to load in the sign in page.
|
|
55
|
+
*
|
|
56
|
+
* This is only loaded if the provider has conditional UI enabled. If set to false, it won't load any script.
|
|
57
|
+
* Defaults to `v9.0.0`.
|
|
58
|
+
*/
|
|
59
|
+
simpleWebAuthnBrowserVersion: SemverString | false;
|
|
60
|
+
/** Form fields displayed in the default Passkey sign in/up form.
|
|
61
|
+
* These are not validated or enforced beyond the default Auth.js authentication page.
|
|
62
|
+
*
|
|
63
|
+
* By default it displays an email field.
|
|
64
|
+
*/
|
|
65
|
+
formFields: Record<string, CredentialInput>;
|
|
66
|
+
/**
|
|
67
|
+
* Authentication options that are passed to @simplewebauthn during authentication.
|
|
68
|
+
*/
|
|
69
|
+
authenticationOptions?: Partial<ConfigurableAuthenticationOptions>;
|
|
70
|
+
/**
|
|
71
|
+
* Registration options that are passed to @simplewebauthn during registration.
|
|
72
|
+
*/
|
|
73
|
+
registrationOptions: Partial<ConfigurableRegistrationOptions>;
|
|
74
|
+
/**
|
|
75
|
+
* Verify Authentication options that are passed to @simplewebauthn during authentication.
|
|
76
|
+
*/
|
|
77
|
+
verifyAuthenticationOptions?: Partial<ConfigurableVerifyAuthenticationOptions>;
|
|
78
|
+
/**
|
|
79
|
+
* Verify Registration options that are passed to @simplewebauthn during registration.
|
|
80
|
+
*/
|
|
81
|
+
verifyRegistrationOptions?: Partial<ConfigurableVerifyRegistrationOptions>;
|
|
82
|
+
/**
|
|
83
|
+
* Function that returns the user info that the authenticator will use during registration and authentication.
|
|
84
|
+
*
|
|
85
|
+
* - It accepts the provider options, the request object, and returns the user info.
|
|
86
|
+
* - If the request contains an existing user's data (e.g. email address), the function must return the existing user and `exists` must be `true`.
|
|
87
|
+
* - If the request contains enough information to create a new user, the function must return a new user info and `exists` must be `false`.
|
|
88
|
+
* - If the request does not contain enough information to create a new user, the function must return `null`.
|
|
89
|
+
*
|
|
90
|
+
* It should not have any side effects (i.e. it shall not modify the database).
|
|
91
|
+
*
|
|
92
|
+
* During passkey creation:
|
|
93
|
+
* - The passkey's user ID will be a random string.
|
|
94
|
+
* - The passkey's user name will be user.email
|
|
95
|
+
* - The passkey's user display name will be user.name, if present, or user.email
|
|
96
|
+
*
|
|
97
|
+
* By default, it looks for and uses the "email" request parameter to look up the user in the database.
|
|
98
|
+
*/
|
|
99
|
+
getUserInfo: GetUserInfo;
|
|
100
|
+
/** SimpleWebAuthn instance to use for registration and authentication. */
|
|
101
|
+
simpleWebAuthn: {
|
|
102
|
+
verifyAuthenticationResponse: typeof verifyAuthenticationResponse;
|
|
103
|
+
verifyRegistrationResponse: typeof verifyRegistrationResponse;
|
|
104
|
+
generateAuthenticationOptions: typeof generateAuthenticationOptions;
|
|
105
|
+
generateRegistrationOptions: typeof generateRegistrationOptions;
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Add WebAuthn login to your page.
|
|
110
|
+
*
|
|
111
|
+
* ### Setup
|
|
112
|
+
*
|
|
113
|
+
* #### Configuration
|
|
114
|
+
* ```ts
|
|
115
|
+
* import { Auth } from "@auth/core"
|
|
116
|
+
* import WebAuthn from "@auth/core/providers/webauthn"
|
|
117
|
+
*
|
|
118
|
+
* const request = new Request(origin)
|
|
119
|
+
* const response = await Auth(request, {
|
|
120
|
+
* providers: [WebAuthn],
|
|
121
|
+
* })
|
|
122
|
+
* ```
|
|
123
|
+
* ### Resources
|
|
124
|
+
*
|
|
125
|
+
* - [SimpleWebAuthn - Server side](https://simplewebauthn.dev/docs/packages/server)
|
|
126
|
+
* - [SimpleWebAuthn - Client side](https://simplewebauthn.dev/docs/packages/client)
|
|
127
|
+
* - [Source code](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/webauthn.ts)
|
|
128
|
+
*
|
|
129
|
+
* :::tip
|
|
130
|
+
*
|
|
131
|
+
* The WebAuthn provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/webauthn.ts).
|
|
132
|
+
* To override the defaults for your use case, check out [customizing the built-in WebAuthn provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
133
|
+
*
|
|
134
|
+
* :::
|
|
135
|
+
*
|
|
136
|
+
* :::info **Disclaimer**
|
|
137
|
+
*
|
|
138
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
139
|
+
*
|
|
140
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
141
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
142
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
143
|
+
*
|
|
144
|
+
* :::
|
|
145
|
+
*/
|
|
146
|
+
export default function WebAuthn(config: Partial<WebAuthnConfig>): WebAuthnConfig;
|
|
147
|
+
export {};
|
|
148
|
+
//# sourceMappingURL=webauthn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webauthn.d.ts","sourceRoot":"","sources":["../src/providers/webauthn.ts"],"names":[],"mappings":"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"}
|