@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,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Add Mattermost login to your page.
|
|
3
|
+
*
|
|
4
|
+
* ### Setup
|
|
5
|
+
*
|
|
6
|
+
* #### Callback URL
|
|
7
|
+
* ```
|
|
8
|
+
* https://example.com/api/auth/callback/mattermost
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* #### Configuration
|
|
12
|
+
*```ts
|
|
13
|
+
* import { Auth } from "@auth/core"
|
|
14
|
+
* import Mattermost from "@auth/core/providers/mattermost"
|
|
15
|
+
*
|
|
16
|
+
* const request = new Request(origin)
|
|
17
|
+
* const response = await Auth(request, {
|
|
18
|
+
* providers: [
|
|
19
|
+
* Mattermost({
|
|
20
|
+
* clientId: MATTERMOST_CLIENT_ID,
|
|
21
|
+
* clientSecret: MATTERMOST_CLIENT_SECRET,
|
|
22
|
+
* issuer: MATTERMOST_ISSUER, // The base url of your Mattermost instance. e.g `https://my-cool-server.cloud.mattermost.com`
|
|
23
|
+
* }),
|
|
24
|
+
* ],
|
|
25
|
+
* })
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* ### Resources
|
|
29
|
+
*
|
|
30
|
+
* - [Mattermost OAuth documentation](https://example.com)
|
|
31
|
+
*
|
|
32
|
+
* ### Notes
|
|
33
|
+
*
|
|
34
|
+
* By default, Auth.js assumes that the Mattermost provider is
|
|
35
|
+
* based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
|
|
36
|
+
*
|
|
37
|
+
* To create your Mattermost OAuth2 app visit `http://<your Mattermost instance url>/<your team>/integrations/oauth2-apps`
|
|
38
|
+
*
|
|
39
|
+
* :::warning
|
|
40
|
+
*
|
|
41
|
+
* The Mattermost provider requires the `issuer` option to be set. This is the base url of your Mattermost instance. e.g https://my-cool-server.cloud.mattermost.com
|
|
42
|
+
*
|
|
43
|
+
* :::
|
|
44
|
+
*
|
|
45
|
+
* :::tip
|
|
46
|
+
*
|
|
47
|
+
* The Mattermost provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/mattermost.ts).
|
|
48
|
+
* To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
49
|
+
*
|
|
50
|
+
* :::
|
|
51
|
+
*
|
|
52
|
+
* :::info **Disclaimer**
|
|
53
|
+
*
|
|
54
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
55
|
+
*
|
|
56
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
57
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
58
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
59
|
+
*
|
|
60
|
+
* :::
|
|
61
|
+
*/
|
|
62
|
+
export default function Mattermost(config) {
|
|
63
|
+
const { issuer, ...rest } = config;
|
|
64
|
+
return {
|
|
65
|
+
id: "mattermost",
|
|
66
|
+
name: "Mattermost",
|
|
67
|
+
type: "oauth",
|
|
68
|
+
client: { token_endpoint_auth_method: "client_secret_post" },
|
|
69
|
+
token: `${issuer}/oauth/access_token`,
|
|
70
|
+
authorization: `${issuer}/oauth/authorize`,
|
|
71
|
+
userinfo: `${issuer}/api/v4/users/me`,
|
|
72
|
+
profile(profile) {
|
|
73
|
+
return {
|
|
74
|
+
id: profile.id,
|
|
75
|
+
name: profile.username ?? `${profile.first_name} ${profile.last_name}`,
|
|
76
|
+
email: profile.email,
|
|
77
|
+
image: null,
|
|
78
|
+
};
|
|
79
|
+
},
|
|
80
|
+
style: { bg: "#000", text: "#fff" },
|
|
81
|
+
options: rest,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
|
|
3
|
+
* <span>Built-in <b>Medium</b> integration.</span>
|
|
4
|
+
* <a href="https://medium.com">
|
|
5
|
+
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/medium.svg" height="48" width="48"/>
|
|
6
|
+
* </a>
|
|
7
|
+
* </div>
|
|
8
|
+
*
|
|
9
|
+
* @module providers/medium
|
|
10
|
+
*/
|
|
11
|
+
import type { OAuthConfig, OAuthUserConfig } from "./index.js";
|
|
12
|
+
/**
|
|
13
|
+
* Add Medium login to your page.
|
|
14
|
+
*
|
|
15
|
+
* ### Setup
|
|
16
|
+
*
|
|
17
|
+
* #### Callback URL
|
|
18
|
+
* ```
|
|
19
|
+
* https://example.com/api/auth/callback/medium
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* #### Configuration
|
|
23
|
+
*```ts
|
|
24
|
+
* import { Auth } from "@auth/core"
|
|
25
|
+
* import Medium from "@auth/core/providers/medium"
|
|
26
|
+
*
|
|
27
|
+
* const request = new Request(origin)
|
|
28
|
+
* const response = await Auth(request, {
|
|
29
|
+
* providers: [
|
|
30
|
+
* Medium({ clientId: MEDIUM_CLIENT_ID, clientSecret: MEDIUM_CLIENT_SECRET }),
|
|
31
|
+
* ],
|
|
32
|
+
* })
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* ### Resources
|
|
36
|
+
*
|
|
37
|
+
* - [Medium OAuth documentation](https://example.com)
|
|
38
|
+
*
|
|
39
|
+
* ### Notes
|
|
40
|
+
*
|
|
41
|
+
* By default, Auth.js assumes that the Medium provider is
|
|
42
|
+
* based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
|
|
43
|
+
*
|
|
44
|
+
* :::warning
|
|
45
|
+
*
|
|
46
|
+
* Email address is not returned by the Medium API.
|
|
47
|
+
*
|
|
48
|
+
* :::
|
|
49
|
+
*
|
|
50
|
+
* :::tip
|
|
51
|
+
*
|
|
52
|
+
* The Medium provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/medium.ts).
|
|
53
|
+
* To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
54
|
+
*
|
|
55
|
+
* :::
|
|
56
|
+
*
|
|
57
|
+
* :::info **Disclaimer**
|
|
58
|
+
*
|
|
59
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
60
|
+
*
|
|
61
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
62
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
63
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
64
|
+
*
|
|
65
|
+
* :::
|
|
66
|
+
*/
|
|
67
|
+
export default function Medium(config: OAuthUserConfig<Record<string, any>>): OAuthConfig<Record<string, any>>;
|
|
68
|
+
//# sourceMappingURL=medium.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"medium.d.ts","sourceRoot":"","sources":["../src/providers/medium.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;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,CAkBlC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* <div class="provider" style={{backgroundColor: "#000", display: "flex", justifyContent: "space-between", color: "#fff", padding: 16}}>
|
|
3
|
+
* <span>Built-in <b>Medium</b> integration.</span>
|
|
4
|
+
* <a href="https://medium.com">
|
|
5
|
+
* <img style={{display: "block"}} src="https://authjs.dev/img/providers/medium.svg" height="48" width="48"/>
|
|
6
|
+
* </a>
|
|
7
|
+
* </div>
|
|
8
|
+
*
|
|
9
|
+
* @module providers/medium
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Add Medium login to your page.
|
|
13
|
+
*
|
|
14
|
+
* ### Setup
|
|
15
|
+
*
|
|
16
|
+
* #### Callback URL
|
|
17
|
+
* ```
|
|
18
|
+
* https://example.com/api/auth/callback/medium
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* #### Configuration
|
|
22
|
+
*```ts
|
|
23
|
+
* import { Auth } from "@auth/core"
|
|
24
|
+
* import Medium from "@auth/core/providers/medium"
|
|
25
|
+
*
|
|
26
|
+
* const request = new Request(origin)
|
|
27
|
+
* const response = await Auth(request, {
|
|
28
|
+
* providers: [
|
|
29
|
+
* Medium({ clientId: MEDIUM_CLIENT_ID, clientSecret: MEDIUM_CLIENT_SECRET }),
|
|
30
|
+
* ],
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* ### Resources
|
|
35
|
+
*
|
|
36
|
+
* - [Medium OAuth documentation](https://example.com)
|
|
37
|
+
*
|
|
38
|
+
* ### Notes
|
|
39
|
+
*
|
|
40
|
+
* By default, Auth.js assumes that the Medium provider is
|
|
41
|
+
* based on the [OAuth 2](https://www.rfc-editor.org/rfc/rfc6749.html) specification.
|
|
42
|
+
*
|
|
43
|
+
* :::warning
|
|
44
|
+
*
|
|
45
|
+
* Email address is not returned by the Medium API.
|
|
46
|
+
*
|
|
47
|
+
* :::
|
|
48
|
+
*
|
|
49
|
+
* :::tip
|
|
50
|
+
*
|
|
51
|
+
* The Medium provider comes with a [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/medium.ts).
|
|
52
|
+
* To override the defaults for your use case, check out [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
53
|
+
*
|
|
54
|
+
* :::
|
|
55
|
+
*
|
|
56
|
+
* :::info **Disclaimer**
|
|
57
|
+
*
|
|
58
|
+
* If you think you found a bug in the default configuration, you can [open an issue](https://authjs.dev/new/provider-issue).
|
|
59
|
+
*
|
|
60
|
+
* Auth.js strictly adheres to the specification and it cannot take responsibility for any deviation from
|
|
61
|
+
* the spec by the provider. You can open an issue, but if the problem is non-compliance with the spec,
|
|
62
|
+
* we might not pursue a resolution. You can ask for more help in [Discussions](https://authjs.dev/new/github-discussions).
|
|
63
|
+
*
|
|
64
|
+
* :::
|
|
65
|
+
*/
|
|
66
|
+
export default function Medium(config) {
|
|
67
|
+
return {
|
|
68
|
+
id: "medium",
|
|
69
|
+
name: "Medium",
|
|
70
|
+
type: "oauth",
|
|
71
|
+
authorization: "https://medium.com/m/oauth/authorize?scope=basicProfile",
|
|
72
|
+
token: "https://api.medium.com/v1/tokens",
|
|
73
|
+
userinfo: "https://api.medium.com/v1/me",
|
|
74
|
+
profile(profile) {
|
|
75
|
+
return {
|
|
76
|
+
id: profile.data.id,
|
|
77
|
+
name: profile.data.name,
|
|
78
|
+
email: null,
|
|
79
|
+
image: profile.data.imageUrl,
|
|
80
|
+
};
|
|
81
|
+
},
|
|
82
|
+
options: config,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
import type { OIDCConfig, OIDCUserConfig } from "./index.js";
|
|
2
|
+
/**
|
|
3
|
+
* @see [Microsoft Identity Platform - ID token claims reference](https://learn.microsoft.com/en-us/entra/identity-platform/id-token-claims-reference)
|
|
4
|
+
* @see [Microsoft Identity Platform - Optional claims reference](https://learn.microsoft.com/en-us/entra/identity-platform/optional-claims-reference)
|
|
5
|
+
*/
|
|
6
|
+
export interface MicrosoftEntraIDProfile {
|
|
7
|
+
/**
|
|
8
|
+
* Identifies the intended recipient of the token. In `id_tokens`, the
|
|
9
|
+
* audience is your app's Application ID, assigned to your app in the Azure
|
|
10
|
+
* portal. This value should be validated. The token should be rejected if it
|
|
11
|
+
* fails to match your app's Application ID.
|
|
12
|
+
*/
|
|
13
|
+
aud: string;
|
|
14
|
+
/**
|
|
15
|
+
* Identifies the issuer, or "authorization server" that constructs and
|
|
16
|
+
* returns the token. It also identifies the tenant for which the user was
|
|
17
|
+
* authenticated. If the token was issued by the v2.0 endpoint, the URI ends
|
|
18
|
+
* in `/v2.0`. The GUID that indicates that the user is a consumer user from
|
|
19
|
+
* a Microsoft account is `9188040d-6c67-4c5b-b112-36a304b66dad`. Your app
|
|
20
|
+
* should use the GUID portion of the claim to restrict the set of tenants
|
|
21
|
+
* that can sign in to the app, if applicable. */
|
|
22
|
+
iss: string;
|
|
23
|
+
/** Indicates when the authentication for the token occurred. */
|
|
24
|
+
iat: Date;
|
|
25
|
+
/**
|
|
26
|
+
* Records the identity provider that authenticated the subject of the token.
|
|
27
|
+
* This value is identical to the value of the issuer claim unless the user
|
|
28
|
+
* account isn't in the same tenant as the issuer - guests, for instance. If
|
|
29
|
+
* the claim isn't present, it means that the value of `iss` can be used
|
|
30
|
+
* instead. For personal accounts being used in an organizational context
|
|
31
|
+
* (for instance, a personal account invited to a tenant), the `idp` claim
|
|
32
|
+
* may be 'live.com' or an STS URI containing the Microsoft account tenant
|
|
33
|
+
* `9188040d-6c67-4c5b-b112-36a304b66dad`.
|
|
34
|
+
*/
|
|
35
|
+
idp: string;
|
|
36
|
+
/**
|
|
37
|
+
* Identifies the time before which the JWT can't be accepted for processing.
|
|
38
|
+
*/
|
|
39
|
+
nbf: Date;
|
|
40
|
+
/**
|
|
41
|
+
* Identifies the expiration time on or after which the JWT can't be accepted
|
|
42
|
+
* for processing. In certain circumstances, a resource may reject the token
|
|
43
|
+
* before this time. For example, if a change in authentication is required
|
|
44
|
+
* or a token revocation has been detected.
|
|
45
|
+
*/
|
|
46
|
+
exp: Date;
|
|
47
|
+
/**
|
|
48
|
+
* The code hash is included in ID tokens only when the ID token is issued
|
|
49
|
+
* with an OAuth 2.0 authorization code. It can be used to validate the
|
|
50
|
+
* authenticity of an authorization code. To understand how to do this
|
|
51
|
+
* validation, see the
|
|
52
|
+
* [OpenID Connect specification](https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken).
|
|
53
|
+
* This claim isn't returned on ID tokens from the /token endpoint.
|
|
54
|
+
*/
|
|
55
|
+
c_hash: string;
|
|
56
|
+
/**
|
|
57
|
+
* The access token hash is included in ID tokens only when the ID token is
|
|
58
|
+
* issued from the `/authorize` endpoint with an OAuth 2.0 access token. It
|
|
59
|
+
* can be used to validate the authenticity of an access token. To understand
|
|
60
|
+
* how to do this validation, see the
|
|
61
|
+
* [OpenID Connect specification](https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken).
|
|
62
|
+
* This claim isn't returned on ID tokens from the `/token` endpoint.
|
|
63
|
+
*/
|
|
64
|
+
at_hash: string;
|
|
65
|
+
/**
|
|
66
|
+
* An internal claim that's used to record data for token reuse. Should be
|
|
67
|
+
* ignored.
|
|
68
|
+
*/
|
|
69
|
+
aio: string;
|
|
70
|
+
/**
|
|
71
|
+
* The primary username that represents the user. It could be an email
|
|
72
|
+
* address, phone number, or a generic username without a specified format.
|
|
73
|
+
* Its value is mutable and might change over time. Since it's mutable, this
|
|
74
|
+
* value can't be used to make authorization decisions. It can be used for
|
|
75
|
+
* username hints and in human-readable UI as a username. The `profile` scope
|
|
76
|
+
* is required to receive this claim. Present only in v2.0 tokens.
|
|
77
|
+
*/
|
|
78
|
+
preferred_username: string;
|
|
79
|
+
/**
|
|
80
|
+
* Present by default for guest accounts that have an email address. Your app
|
|
81
|
+
* can request the email claim for managed users (from the same tenant as the
|
|
82
|
+
* resource) using the `email`
|
|
83
|
+
* [optional claim](https://learn.microsoft.com/en-us/entra/identity-platform/optional-claims).
|
|
84
|
+
* This value isn't guaranteed to be correct and is mutable over time. Never
|
|
85
|
+
* use it for authorization or to save data for a user. If you require an
|
|
86
|
+
* addressable email address in your app, request this data from the user
|
|
87
|
+
* directly by using this claim as a suggestion or prefill in your UX. On the
|
|
88
|
+
* v2.0 endpoint, your app can also request the `email` OpenID Connect
|
|
89
|
+
* scope - you don't need to request both the optional claim and the scope to
|
|
90
|
+
* get the claim.
|
|
91
|
+
*/
|
|
92
|
+
email: string;
|
|
93
|
+
/**
|
|
94
|
+
* The `name` claim provides a human-readable value that identifies the
|
|
95
|
+
* subject of the token. The value isn't guaranteed to be unique, it can be
|
|
96
|
+
* changed, and should be used only for display purposes. The `profile` scope
|
|
97
|
+
* is required to receive this claim.
|
|
98
|
+
*/
|
|
99
|
+
name: string;
|
|
100
|
+
/**
|
|
101
|
+
* The nonce matches the parameter included in the original authorize request
|
|
102
|
+
* to the IDP. If it doesn't match, your application should reject the token.
|
|
103
|
+
*/
|
|
104
|
+
nonce: string;
|
|
105
|
+
/**
|
|
106
|
+
* The immutable identifier for an object, in this case, a user account. This
|
|
107
|
+
* ID uniquely identifies the user across applications - two different
|
|
108
|
+
* applications signing in the same user receives the same value in the `oid`
|
|
109
|
+
* claim. Microsoft Graph returns this ID as the `id` property for a user
|
|
110
|
+
* account. Because the `oid` allows multiple apps to correlate users, the
|
|
111
|
+
* `profile` scope is required to receive this claim. If a single user exists
|
|
112
|
+
* in multiple tenants, the user contains a different object ID in each
|
|
113
|
+
* tenant - they're considered different accounts, even though the user logs
|
|
114
|
+
* into each account with the same credentials. The `oid` claim is a GUID and
|
|
115
|
+
* can't be reused.
|
|
116
|
+
*/
|
|
117
|
+
oid: string;
|
|
118
|
+
/** The set of roles that were assigned to the user who is logging in. */
|
|
119
|
+
roles: string[];
|
|
120
|
+
/** An internal claim used to revalidate tokens. Should be ignored. */
|
|
121
|
+
rh: string;
|
|
122
|
+
/**
|
|
123
|
+
* The subject of the information in the token. For example, the user of an
|
|
124
|
+
* app. This value is immutable and can't be reassigned or reused. The
|
|
125
|
+
* subject is a pairwise identifier and is unique to an application ID. If a
|
|
126
|
+
* single user signs into two different apps using two different client IDs,
|
|
127
|
+
* those apps receive two different values for the subject claim. You may or
|
|
128
|
+
* may not want two values depending on your architecture and privacy
|
|
129
|
+
* requirements.
|
|
130
|
+
*/
|
|
131
|
+
sub: string;
|
|
132
|
+
/** Represents the tenant that the user is signing in to. For work and school
|
|
133
|
+
* accounts, the GUID is the immutable tenant ID of the organization that the
|
|
134
|
+
* user is signing in to. For sign-ins to the personal Microsoft account
|
|
135
|
+
* tenant (services like Xbox, Teams for Life, or Outlook), the value is
|
|
136
|
+
* `9188040d-6c67-4c5b-b112-36a304b66dad`.
|
|
137
|
+
*/
|
|
138
|
+
tid: string;
|
|
139
|
+
/**
|
|
140
|
+
* Represents an unique identifier for a session and will be generated when a
|
|
141
|
+
* new session is established.
|
|
142
|
+
*/
|
|
143
|
+
sid: string;
|
|
144
|
+
/**
|
|
145
|
+
* Token identifier claim, equivalent to jti in the JWT specification.
|
|
146
|
+
* Unique, per-token identifier that is case-sensitive.
|
|
147
|
+
*/
|
|
148
|
+
uti: string;
|
|
149
|
+
/** Indicates the version of the ID token. */
|
|
150
|
+
ver: "2.0";
|
|
151
|
+
/**
|
|
152
|
+
* If present, always true, denoting the user is in at least one group.
|
|
153
|
+
* Indicates that the client should use the Microsoft Graph API to determine
|
|
154
|
+
* the user's groups
|
|
155
|
+
* (`https://graph.microsoft.com/v1.0/users/{userID}/getMemberObjects`).
|
|
156
|
+
*/
|
|
157
|
+
hasgroups: boolean;
|
|
158
|
+
/**
|
|
159
|
+
* Users account status in tenant. If the user is a member of the tenant, the
|
|
160
|
+
* value is `0`. If they're a guest, the value is `1`.
|
|
161
|
+
*/
|
|
162
|
+
acct: 0 | 1;
|
|
163
|
+
/**
|
|
164
|
+
* Auth Context IDs. Indicates the Auth Context IDs of the operations that
|
|
165
|
+
* the bearer is eligible to perform. Auth Context IDs can be used to trigger
|
|
166
|
+
* a demand for step-up authentication from within your application and
|
|
167
|
+
* services. Often used along with the `xms_cc` claim.
|
|
168
|
+
*/
|
|
169
|
+
acrs: string;
|
|
170
|
+
/** Time when the user last authenticated. */
|
|
171
|
+
auth_time: Date;
|
|
172
|
+
/**
|
|
173
|
+
* User's country/region. This claim is returned if it's present and the
|
|
174
|
+
* value of the field is a standard two-letter country/region code, such as
|
|
175
|
+
* FR, JP, SZ, and so on.
|
|
176
|
+
*/
|
|
177
|
+
ctry: string;
|
|
178
|
+
/**
|
|
179
|
+
* IP address. Adds the original address of the requesting client
|
|
180
|
+
* (when inside a VNET).
|
|
181
|
+
*/
|
|
182
|
+
fwd: string;
|
|
183
|
+
/**
|
|
184
|
+
* Optional formatting for group claims. The `groups` claim is used with the
|
|
185
|
+
* GroupMembershipClaims setting in the
|
|
186
|
+
* [application manifest](https://learn.microsoft.com/en-us/entra/identity-platform/reference-app-manifest),
|
|
187
|
+
* which must be set as well.
|
|
188
|
+
*/
|
|
189
|
+
groups: string;
|
|
190
|
+
/**
|
|
191
|
+
* Login hint. An opaque, reliable login hint claim that's base 64 encoded.
|
|
192
|
+
* Don't modify this value. This claim is the best value to use for the
|
|
193
|
+
* `login_hint` OAuth parameter in all flows to get SSO. It can be passed
|
|
194
|
+
* between applications to help them silently SSO as well - application A can
|
|
195
|
+
* sign in a user, read the `login_hint` claim, and then send the claim and
|
|
196
|
+
* the current tenant context to application B in the query string or
|
|
197
|
+
* fragment when the user selects on a link that takes them to application B.
|
|
198
|
+
* To avoid race conditions and reliability issues, the `login_hint` claim
|
|
199
|
+
* doesn't include the current tenant for the user, and defaults to the
|
|
200
|
+
* user's home tenant when used. In a guest scenario where the user is from
|
|
201
|
+
* another tenant, a tenant identifier must be provided in the sign-in
|
|
202
|
+
* request. and pass the same to apps you partner with. This claim is
|
|
203
|
+
* intended for use with your SDK's existing `login_hint` functionality,
|
|
204
|
+
* however that it exposed.
|
|
205
|
+
*/
|
|
206
|
+
login_hint: string;
|
|
207
|
+
/**
|
|
208
|
+
* Resource tenant's country/region. Same as `ctry` except set at a tenant
|
|
209
|
+
* level by an admin. Must also be a standard two-letter value.
|
|
210
|
+
*/
|
|
211
|
+
tenant_ctry: string;
|
|
212
|
+
/**
|
|
213
|
+
* Region of the resource tenant
|
|
214
|
+
*/
|
|
215
|
+
tenant_region_scope: string;
|
|
216
|
+
/**
|
|
217
|
+
* UserPrincipalName. An identifier for the user that can be used with the
|
|
218
|
+
* `username_hint` parameter. Not a durable identifier for the user and
|
|
219
|
+
* shouldn't be used for authorization or to uniquely identity user
|
|
220
|
+
* information (for example, as a database key). Instead, use the user object
|
|
221
|
+
* ID (`oid`) as a database key. For more information, see
|
|
222
|
+
* [Secure applications and APIs by validating claims](https://learn.microsoft.com/en-us/entra/identity-platform/claims-validation).
|
|
223
|
+
* Users signing in with an
|
|
224
|
+
* [alternate login ID](https://learn.microsoft.com/en-us/entra/identity/authentication/howto-authentication-use-email-signin)
|
|
225
|
+
* shouldn't be shown their User Principal Name (UPN). Instead, use the
|
|
226
|
+
* following ID token claims for displaying sign-in state to the user:
|
|
227
|
+
* `preferred_username` or `unique_name` for v1 tokens and
|
|
228
|
+
* `preferred_username` for v2 tokens. Although this claim is automatically
|
|
229
|
+
* included, you can specify it as an optional claim to attach other
|
|
230
|
+
* properties to modify its behavior in the guest user case. You should use
|
|
231
|
+
* the `login_hint` claim for `login_hint` use - human-readable identifiers
|
|
232
|
+
* like UPN are unreliable.
|
|
233
|
+
*/
|
|
234
|
+
upn: string;
|
|
235
|
+
/** Sourced from the user's PrimaryAuthoritativeEmail */
|
|
236
|
+
verified_primary_email: string[];
|
|
237
|
+
/** Sourced from the user's SecondaryAuthoritativeEmail */
|
|
238
|
+
verified_secondary_email: string[];
|
|
239
|
+
/** VNET specifier information. */
|
|
240
|
+
vnet: string;
|
|
241
|
+
/**
|
|
242
|
+
* Client Capabilities. Indicates whether the client application that
|
|
243
|
+
* acquired the token is capable of handling claims challenges. It's often
|
|
244
|
+
* used along with claim `acrs`. This claim is commonly used in Conditional
|
|
245
|
+
* Access and Continuous Access Evaluation scenarios. The resource server or
|
|
246
|
+
* service application that the token is issued for controls the presence of
|
|
247
|
+
* this claim in a token. A value of `cp1` in the access token is the
|
|
248
|
+
* authoritative way to identify that a client application is capable of
|
|
249
|
+
* handling a claims challenge. For more information, see
|
|
250
|
+
* [Claims challenges, claims requests and client capabilities](https://learn.microsoft.com/en-us/entra/identity-platform/claims-challenge?tabs=dotnet).
|
|
251
|
+
*/
|
|
252
|
+
xms_cc: string;
|
|
253
|
+
/**
|
|
254
|
+
* Boolean value indicating whether the user's email domain owner has been
|
|
255
|
+
* verified. An email is considered to be domain verified if it belongs to
|
|
256
|
+
* the tenant where the user account resides and the tenant admin has done
|
|
257
|
+
* verification of the domain. Also, the email must be from a Microsoft
|
|
258
|
+
* account (MSA), a Google account, or used for authentication using the
|
|
259
|
+
* one-time passcode (OTP) flow. Facebook and SAML/WS-Fed accounts do not
|
|
260
|
+
* have verified domains. For this claim to be returned in the token, the
|
|
261
|
+
* presence of the `email` claim is required.
|
|
262
|
+
*/
|
|
263
|
+
xms_edov: boolean;
|
|
264
|
+
/**
|
|
265
|
+
* Preferred data location. For Multi-Geo tenants, the preferred data
|
|
266
|
+
* location is the three-letter code showing the geographic region the user
|
|
267
|
+
* is in. For more information, see the
|
|
268
|
+
* [Microsoft Entra Connect documentation about preferred data location](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-sync-feature-preferreddatalocation).
|
|
269
|
+
*/
|
|
270
|
+
xms_pdl: string;
|
|
271
|
+
/**
|
|
272
|
+
* User preferred language. The user's preferred language, if set. Sourced
|
|
273
|
+
* from their home tenant, in guest access scenarios. Formatted LL-CC
|
|
274
|
+
* ("en-us").
|
|
275
|
+
*/
|
|
276
|
+
xms_pl: string;
|
|
277
|
+
/**
|
|
278
|
+
* Tenant preferred language. The resource tenant's preferred language, if
|
|
279
|
+
* set. Formatted LL ("en").
|
|
280
|
+
*/
|
|
281
|
+
xms_tpl: string;
|
|
282
|
+
/**
|
|
283
|
+
* Zero-touch Deployment ID. The device identity used for `Windows AutoPilot`.
|
|
284
|
+
*/
|
|
285
|
+
ztdid: string;
|
|
286
|
+
/** IP Address. The IP address the client logged in from. */
|
|
287
|
+
ipaddr: string;
|
|
288
|
+
/** On-premises Security Identifier */
|
|
289
|
+
onprem_sid: string;
|
|
290
|
+
/**
|
|
291
|
+
* Password Expiration Time. The number of seconds after the time in the
|
|
292
|
+
* `iat` claim at which the password expires. This claim is only included
|
|
293
|
+
* when the password is expiring soon (as defined by "notification days" in
|
|
294
|
+
* the password policy).
|
|
295
|
+
*/
|
|
296
|
+
pwd_exp: number;
|
|
297
|
+
/**
|
|
298
|
+
* Change Password URL. A URL that the user can visit to change their
|
|
299
|
+
* password. This claim is only included when the password is expiring soon
|
|
300
|
+
* (as defined by "notification days" in the password policy).
|
|
301
|
+
*/
|
|
302
|
+
pwd_url: string;
|
|
303
|
+
/**
|
|
304
|
+
* Inside Corporate Network. Signals if the client is logging in from the
|
|
305
|
+
* corporate network. If they're not, the claim isn't included. Based off of
|
|
306
|
+
* the
|
|
307
|
+
* [trusted IPs](https://learn.microsoft.com/en-us/entra/identity/authentication/howto-mfa-mfasettings#trusted-ips)
|
|
308
|
+
* settings in MFA.
|
|
309
|
+
*/
|
|
310
|
+
in_corp: string;
|
|
311
|
+
/**
|
|
312
|
+
* Last Name. Provides the last name, surname, or family name of the user as
|
|
313
|
+
* defined in the user object. For example, `"family_name":"Miller"`.
|
|
314
|
+
* Supported in MSA and Microsoft Entra ID. Requires the `profile` scope.
|
|
315
|
+
*/
|
|
316
|
+
family_name: string;
|
|
317
|
+
/**
|
|
318
|
+
* First name. Provides the first or "given" name of the user, as set on the
|
|
319
|
+
* user object. For example, `"given_name": "Frank"`. Supported in MSA and
|
|
320
|
+
* Microsoft Entra ID. Requires the `profile` scope.
|
|
321
|
+
*/
|
|
322
|
+
given_name: string;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* ### Setup
|
|
326
|
+
*
|
|
327
|
+
* #### Callback URL
|
|
328
|
+
*
|
|
329
|
+
* ```
|
|
330
|
+
* https://example.com/api/auth/callback/microsoft-entra-id
|
|
331
|
+
* ```
|
|
332
|
+
*
|
|
333
|
+
* #### Environment Variables
|
|
334
|
+
*
|
|
335
|
+
* ```env
|
|
336
|
+
* AUTH_MICROSOFT_ENTRA_ID_ID="<Application (client) ID>"
|
|
337
|
+
* AUTH_MICROSOFT_ENTRA_ID_SECRET="<Client secret value>"
|
|
338
|
+
* AUTH_MICROSOFT_ENTRA_ID_ISSUER="https://login.microsoftonline.com/<Directory (tenant) ID>/v2.0/"
|
|
339
|
+
* ```
|
|
340
|
+
*
|
|
341
|
+
* #### Configuration
|
|
342
|
+
*
|
|
343
|
+
* When the `issuer` parameter is omitted it will default to
|
|
344
|
+
* `"https://login.microsoftonline.com/common/v2.0/"`.
|
|
345
|
+
* This allows any Microsoft account (Personal, School or Work) to log in.
|
|
346
|
+
*
|
|
347
|
+
* ```typescript
|
|
348
|
+
* import MicrosoftEntraID from "@auth/core/providers/microsoft-entra-id"
|
|
349
|
+
* ...
|
|
350
|
+
* providers: [
|
|
351
|
+
* MicrosoftEntraID({
|
|
352
|
+
* clientId: process.env.AUTH_MICROSOFT_ENTRA_ID_ID,
|
|
353
|
+
* clientSecret: process.env.AUTH_MICROSOFT_ENTRA_ID_SECRET,
|
|
354
|
+
* }),
|
|
355
|
+
* ]
|
|
356
|
+
* ...
|
|
357
|
+
* ```
|
|
358
|
+
*
|
|
359
|
+
* To only allow your organization's users to log in you will need to configure
|
|
360
|
+
* the `issuer` parameter with your Directory (tenant) ID.
|
|
361
|
+
*
|
|
362
|
+
* ```env
|
|
363
|
+
* AUTH_MICROSOFT_ENTRA_ID_ISSUER="https://login.microsoftonline.com/<Directory (tenant) ID>/v2.0/"
|
|
364
|
+
* ```
|
|
365
|
+
*
|
|
366
|
+
* ```typescript
|
|
367
|
+
* import MicrosoftEntraID from "@auth/core/providers/microsoft-entra-id"
|
|
368
|
+
* ...
|
|
369
|
+
* providers: [
|
|
370
|
+
* MicrosoftEntraID({
|
|
371
|
+
* clientId: process.env.AUTH_MICROSOFT_ENTRA_ID_ID,
|
|
372
|
+
* clientSecret: process.env.AUTH_MICROSOFT_ENTRA_ID_SECRET,
|
|
373
|
+
* issuer: process.env.AUTH_MICROSOFT_ENTRA_ID_ISSUER,
|
|
374
|
+
* }),
|
|
375
|
+
* ]
|
|
376
|
+
* ...
|
|
377
|
+
* ```
|
|
378
|
+
*
|
|
379
|
+
* ### Resources
|
|
380
|
+
*
|
|
381
|
+
* - [Microsoft Entra OAuth documentation](https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-auth-code-flow)
|
|
382
|
+
* - [Microsoft Entra OAuth apps](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app)
|
|
383
|
+
*
|
|
384
|
+
* ### Notes
|
|
385
|
+
*
|
|
386
|
+
* Microsoft Entra ID returns the profile picture in an ArrayBuffer, instead of
|
|
387
|
+
* just a URL to the image, so our provider converts it to a base64 encoded
|
|
388
|
+
* image string and returns that instead. See:
|
|
389
|
+
* https://learn.microsoft.com/en-us/graph/api/profilephoto-get?view=graph-rest-1.0&tabs=http#examples.
|
|
390
|
+
* The default image size is 48x48 to avoid
|
|
391
|
+
* [running out of space](https://next-auth.js.org/faq#json-web-tokens)
|
|
392
|
+
* in case the session is saved as a JWT.
|
|
393
|
+
*
|
|
394
|
+
* By default, Auth.js assumes that the Microsoft Entra ID provider is based on
|
|
395
|
+
* the [Open ID Connect](https://openid.net/specs/openid-connect-core-1_0.html)
|
|
396
|
+
* specification.
|
|
397
|
+
*
|
|
398
|
+
* :::tip
|
|
399
|
+
*
|
|
400
|
+
* The Microsoft Entra ID provider comes with a
|
|
401
|
+
* [default configuration](https://github.com/nextauthjs/next-auth/blob/main/packages/core/src/providers/microsoft-entra-id.ts).
|
|
402
|
+
* To override the defaults for your use case, check out
|
|
403
|
+
* [customizing a built-in OAuth provider](https://authjs.dev/guides/configuring-oauth-providers).
|
|
404
|
+
*
|
|
405
|
+
* :::
|
|
406
|
+
*
|
|
407
|
+
* :::info **Disclaimer**
|
|
408
|
+
*
|
|
409
|
+
* If you think you found a bug in the default configuration, you can
|
|
410
|
+
* [open an issue](https://authjs.dev/new/provider-issue).
|
|
411
|
+
*
|
|
412
|
+
* Auth.js strictly adheres to the specification and it cannot take
|
|
413
|
+
* responsibility for any deviation from the spec by the provider. You can open
|
|
414
|
+
* an issue, but if the problem is non-compliance with the spec, we might not
|
|
415
|
+
* pursue a resolution. You can ask for more help in
|
|
416
|
+
* [Discussions](https://authjs.dev/new/github-discussions).
|
|
417
|
+
*
|
|
418
|
+
* :::
|
|
419
|
+
*/
|
|
420
|
+
export default function MicrosoftEntraID(config: OIDCUserConfig<MicrosoftEntraIDProfile> & {
|
|
421
|
+
/**
|
|
422
|
+
* https://learn.microsoft.com/en-us/graph/api/profilephoto-get?view=graph-rest-1.0&tabs=http#examples
|
|
423
|
+
*
|
|
424
|
+
* @default 48
|
|
425
|
+
*/
|
|
426
|
+
profilePhotoSize?: 48 | 64 | 96 | 120 | 240 | 360 | 432 | 504 | 648;
|
|
427
|
+
}): OIDCConfig<MicrosoftEntraIDProfile>;
|
|
428
|
+
//# sourceMappingURL=microsoft-entra-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microsoft-entra-id.d.ts","sourceRoot":"","sources":["../src/providers/microsoft-entra-id.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE5D;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;;;;;sDAOkD;IAClD,GAAG,EAAE,MAAM,CAAA;IACX,gEAAgE;IAChE,GAAG,EAAE,IAAI,CAAA;IACT;;;;;;;;;OASG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,GAAG,EAAE,IAAI,CAAA;IACT;;;;;OAKG;IACH,GAAG,EAAE,IAAI,CAAA;IACT;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;;;;;OAOG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;;;;;OAOG;IACH,kBAAkB,EAAE,MAAM,CAAA;IAC1B;;;;;;;;;;;;OAYG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;;;;;OAWG;IACH,GAAG,EAAE,MAAM,CAAA;IACX,yEAAyE;IACzE,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAA;IACV;;;;;;;;OAQG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAA;IACX,6CAA6C;IAC7C,GAAG,EAAE,KAAK,CAAA;IACV;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;IACX;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,SAAS,EAAE,IAAI,CAAA;IACf;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;;;;;;;;;;;;;OAeG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAA;IAC3B;;;;;;;;;;;;;;;;;OAiBG;IACH,GAAG,EAAE,MAAM,CAAA;IACX,wDAAwD;IACxD,sBAAsB,EAAE,MAAM,EAAE,CAAA;IAChC,0DAA0D;IAC1D,wBAAwB,EAAE,MAAM,EAAE,CAAA;IAClC,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;;;;OAUG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;;;;;;;OASG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,MAAM,EAAE,cAAc,CAAC,uBAAuB,CAAC,GAAG;IAChD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;CACpE,GACA,UAAU,CAAC,uBAAuB,CAAC,CAuDrC"}
|