mulguard 1.1.7 → 1.1.9
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/LICENSE +3 -3
- package/README.md +21 -582
- package/adapters.d.ts +2 -0
- package/adapters.d.ts.map +1 -0
- package/adapters.js +1 -0
- package/index.d.ts +329 -0
- package/index.d.ts.map +1 -0
- package/index.js +145 -0
- package/jwt.d.ts +9 -0
- package/jwt.d.ts.map +1 -0
- package/jwt.js +8 -0
- package/lib/actions.d.ts +13 -0
- package/lib/actions.d.ts.map +1 -0
- package/lib/actions.js +86 -0
- package/lib/client.d.ts +104 -0
- package/lib/client.d.ts.map +1 -0
- package/lib/client.js +95 -0
- package/lib/env.d.ts +12 -0
- package/lib/env.d.ts.map +1 -0
- package/lib/env.js +38 -0
- package/lib/index.d.ts +56 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +187 -0
- package/lib/types.d.ts +24 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +1 -0
- package/middleware.d.ts +9 -0
- package/middleware.d.ts.map +1 -0
- package/middleware.js +12 -0
- package/next.d.ts +9 -0
- package/next.d.ts.map +1 -0
- package/next.js +12 -0
- package/package.json +93 -102
- package/providers/42-school.d.ts +3 -0
- package/providers/42-school.d.ts.map +1 -0
- package/providers/42-school.js +2 -0
- package/providers/apple.d.ts +3 -0
- package/providers/apple.d.ts.map +1 -0
- package/providers/apple.js +2 -0
- package/providers/asgardeo.d.ts +3 -0
- package/providers/asgardeo.d.ts.map +1 -0
- package/providers/asgardeo.js +2 -0
- package/providers/atlassian.d.ts +3 -0
- package/providers/atlassian.d.ts.map +1 -0
- package/providers/atlassian.js +2 -0
- package/providers/auth0.d.ts +3 -0
- package/providers/auth0.d.ts.map +1 -0
- package/providers/auth0.js +2 -0
- package/providers/authentik.d.ts +3 -0
- package/providers/authentik.d.ts.map +1 -0
- package/providers/authentik.js +2 -0
- package/providers/azure-ad-b2c.d.ts +3 -0
- package/providers/azure-ad-b2c.d.ts.map +1 -0
- package/providers/azure-ad-b2c.js +2 -0
- package/providers/azure-ad.d.ts +3 -0
- package/providers/azure-ad.d.ts.map +1 -0
- package/providers/azure-ad.js +2 -0
- package/providers/azure-devops.d.ts +3 -0
- package/providers/azure-devops.d.ts.map +1 -0
- package/providers/azure-devops.js +2 -0
- package/providers/bankid-no.d.ts +3 -0
- package/providers/bankid-no.d.ts.map +1 -0
- package/providers/bankid-no.js +2 -0
- package/providers/battlenet.d.ts +3 -0
- package/providers/battlenet.d.ts.map +1 -0
- package/providers/battlenet.js +2 -0
- package/providers/beyondidentity.d.ts +3 -0
- package/providers/beyondidentity.d.ts.map +1 -0
- package/providers/beyondidentity.js +2 -0
- package/providers/bitbucket.d.ts +3 -0
- package/providers/bitbucket.d.ts.map +1 -0
- package/providers/bitbucket.js +2 -0
- package/providers/box.d.ts +3 -0
- package/providers/box.d.ts.map +1 -0
- package/providers/box.js +2 -0
- package/providers/boxyhq-saml.d.ts +3 -0
- package/providers/boxyhq-saml.d.ts.map +1 -0
- package/providers/boxyhq-saml.js +2 -0
- package/providers/bungie.d.ts +3 -0
- package/providers/bungie.d.ts.map +1 -0
- package/providers/bungie.js +2 -0
- package/providers/click-up.d.ts +3 -0
- package/providers/click-up.d.ts.map +1 -0
- package/providers/click-up.js +2 -0
- package/providers/cognito.d.ts +3 -0
- package/providers/cognito.d.ts.map +1 -0
- package/providers/cognito.js +2 -0
- package/providers/coinbase.d.ts +3 -0
- package/providers/coinbase.d.ts.map +1 -0
- package/providers/coinbase.js +2 -0
- package/providers/concept2.d.ts +3 -0
- package/providers/concept2.d.ts.map +1 -0
- package/providers/concept2.js +2 -0
- package/providers/credentials.d.ts +3 -0
- package/providers/credentials.d.ts.map +1 -0
- package/providers/credentials.js +2 -0
- package/providers/descope.d.ts +3 -0
- package/providers/descope.d.ts.map +1 -0
- package/providers/descope.js +2 -0
- package/providers/discord.d.ts +3 -0
- package/providers/discord.d.ts.map +1 -0
- package/providers/discord.js +2 -0
- package/providers/dribbble.d.ts +3 -0
- package/providers/dribbble.d.ts.map +1 -0
- package/providers/dribbble.js +2 -0
- package/providers/dropbox.d.ts +3 -0
- package/providers/dropbox.d.ts.map +1 -0
- package/providers/dropbox.js +2 -0
- package/providers/duende-identity-server6.d.ts +3 -0
- package/providers/duende-identity-server6.d.ts.map +1 -0
- package/providers/duende-identity-server6.js +2 -0
- package/providers/email.d.ts +3 -0
- package/providers/email.d.ts.map +1 -0
- package/providers/email.js +2 -0
- package/providers/eventbrite.d.ts +3 -0
- package/providers/eventbrite.d.ts.map +1 -0
- package/providers/eventbrite.js +2 -0
- package/providers/eveonline.d.ts +3 -0
- package/providers/eveonline.d.ts.map +1 -0
- package/providers/eveonline.js +2 -0
- package/providers/facebook.d.ts +3 -0
- package/providers/facebook.d.ts.map +1 -0
- package/providers/facebook.js +2 -0
- package/providers/faceit.d.ts +3 -0
- package/providers/faceit.d.ts.map +1 -0
- package/providers/faceit.js +2 -0
- package/providers/figma.d.ts +3 -0
- package/providers/figma.d.ts.map +1 -0
- package/providers/figma.js +2 -0
- package/providers/forwardemail.d.ts +3 -0
- package/providers/forwardemail.d.ts.map +1 -0
- package/providers/forwardemail.js +2 -0
- package/providers/foursquare.d.ts +3 -0
- package/providers/foursquare.d.ts.map +1 -0
- package/providers/foursquare.js +2 -0
- package/providers/freshbooks.d.ts +3 -0
- package/providers/freshbooks.d.ts.map +1 -0
- package/providers/freshbooks.js +2 -0
- package/providers/frontegg.d.ts +3 -0
- package/providers/frontegg.d.ts.map +1 -0
- package/providers/frontegg.js +2 -0
- package/providers/fusionauth.d.ts +3 -0
- package/providers/fusionauth.d.ts.map +1 -0
- package/providers/fusionauth.js +2 -0
- package/providers/github.d.ts +3 -0
- package/providers/github.d.ts.map +1 -0
- package/providers/github.js +2 -0
- package/providers/gitlab.d.ts +3 -0
- package/providers/gitlab.d.ts.map +1 -0
- package/providers/gitlab.js +2 -0
- package/providers/google.d.ts +3 -0
- package/providers/google.d.ts.map +1 -0
- package/providers/google.js +2 -0
- package/providers/hubspot.d.ts +3 -0
- package/providers/hubspot.d.ts.map +1 -0
- package/providers/hubspot.js +2 -0
- package/providers/huggingface.d.ts +3 -0
- package/providers/huggingface.d.ts.map +1 -0
- package/providers/huggingface.js +2 -0
- package/providers/identity-server4.d.ts +3 -0
- package/providers/identity-server4.d.ts.map +1 -0
- package/providers/identity-server4.js +2 -0
- package/providers/index.d.ts +2 -0
- package/providers/index.d.ts.map +1 -0
- package/providers/index.js +1 -0
- package/providers/instagram.d.ts +3 -0
- package/providers/instagram.d.ts.map +1 -0
- package/providers/instagram.js +2 -0
- package/providers/kakao.d.ts +3 -0
- package/providers/kakao.d.ts.map +1 -0
- package/providers/kakao.js +2 -0
- package/providers/keycloak.d.ts +3 -0
- package/providers/keycloak.d.ts.map +1 -0
- package/providers/keycloak.js +2 -0
- package/providers/kinde.d.ts +3 -0
- package/providers/kinde.d.ts.map +1 -0
- package/providers/kinde.js +2 -0
- package/providers/line.d.ts +3 -0
- package/providers/line.d.ts.map +1 -0
- package/providers/line.js +2 -0
- package/providers/linkedin.d.ts +3 -0
- package/providers/linkedin.d.ts.map +1 -0
- package/providers/linkedin.js +2 -0
- package/providers/logto.d.ts +3 -0
- package/providers/logto.d.ts.map +1 -0
- package/providers/logto.js +2 -0
- package/providers/loops.d.ts +3 -0
- package/providers/loops.d.ts.map +1 -0
- package/providers/loops.js +2 -0
- package/providers/mailchimp.d.ts +3 -0
- package/providers/mailchimp.d.ts.map +1 -0
- package/providers/mailchimp.js +2 -0
- package/providers/mailgun.d.ts +3 -0
- package/providers/mailgun.d.ts.map +1 -0
- package/providers/mailgun.js +2 -0
- package/providers/mailru.d.ts +3 -0
- package/providers/mailru.d.ts.map +1 -0
- package/providers/mailru.js +2 -0
- package/providers/mastodon.d.ts +3 -0
- package/providers/mastodon.d.ts.map +1 -0
- package/providers/mastodon.js +2 -0
- package/providers/mattermost.d.ts +3 -0
- package/providers/mattermost.d.ts.map +1 -0
- package/providers/mattermost.js +2 -0
- package/providers/medium.d.ts +3 -0
- package/providers/medium.d.ts.map +1 -0
- package/providers/medium.js +2 -0
- package/providers/microsoft-entra-id.d.ts +3 -0
- package/providers/microsoft-entra-id.d.ts.map +1 -0
- package/providers/microsoft-entra-id.js +2 -0
- package/providers/naver.d.ts +3 -0
- package/providers/naver.d.ts.map +1 -0
- package/providers/naver.js +2 -0
- package/providers/netlify.d.ts +3 -0
- package/providers/netlify.d.ts.map +1 -0
- package/providers/netlify.js +2 -0
- package/providers/netsuite.d.ts +3 -0
- package/providers/netsuite.d.ts.map +1 -0
- package/providers/netsuite.js +2 -0
- package/providers/nextcloud.d.ts +3 -0
- package/providers/nextcloud.d.ts.map +1 -0
- package/providers/nextcloud.js +2 -0
- package/providers/nodemailer.d.ts +3 -0
- package/providers/nodemailer.d.ts.map +1 -0
- package/providers/nodemailer.js +2 -0
- package/providers/notion.d.ts +3 -0
- package/providers/notion.d.ts.map +1 -0
- package/providers/notion.js +2 -0
- package/providers/okta.d.ts +3 -0
- package/providers/okta.d.ts.map +1 -0
- package/providers/okta.js +2 -0
- package/providers/onelogin.d.ts +3 -0
- package/providers/onelogin.d.ts.map +1 -0
- package/providers/onelogin.js +2 -0
- package/providers/ory-hydra.d.ts +3 -0
- package/providers/ory-hydra.d.ts.map +1 -0
- package/providers/ory-hydra.js +2 -0
- package/providers/osso.d.ts +3 -0
- package/providers/osso.d.ts.map +1 -0
- package/providers/osso.js +2 -0
- package/providers/osu.d.ts +3 -0
- package/providers/osu.d.ts.map +1 -0
- package/providers/osu.js +2 -0
- package/providers/passage.d.ts +3 -0
- package/providers/passage.d.ts.map +1 -0
- package/providers/passage.js +2 -0
- package/providers/passkey.d.ts +3 -0
- package/providers/passkey.d.ts.map +1 -0
- package/providers/passkey.js +2 -0
- package/providers/patreon.d.ts +3 -0
- package/providers/patreon.d.ts.map +1 -0
- package/providers/patreon.js +2 -0
- package/providers/ping-id.d.ts +3 -0
- package/providers/ping-id.d.ts.map +1 -0
- package/providers/ping-id.js +2 -0
- package/providers/pinterest.d.ts +3 -0
- package/providers/pinterest.d.ts.map +1 -0
- package/providers/pinterest.js +2 -0
- package/providers/pipedrive.d.ts +3 -0
- package/providers/pipedrive.d.ts.map +1 -0
- package/providers/pipedrive.js +2 -0
- package/providers/postmark.d.ts +3 -0
- package/providers/postmark.d.ts.map +1 -0
- package/providers/postmark.js +2 -0
- package/providers/reddit.d.ts +3 -0
- package/providers/reddit.d.ts.map +1 -0
- package/providers/reddit.js +2 -0
- package/providers/resend.d.ts +3 -0
- package/providers/resend.d.ts.map +1 -0
- package/providers/resend.js +2 -0
- package/providers/roblox.d.ts +3 -0
- package/providers/roblox.d.ts.map +1 -0
- package/providers/roblox.js +2 -0
- package/providers/salesforce.d.ts +3 -0
- package/providers/salesforce.d.ts.map +1 -0
- package/providers/salesforce.js +2 -0
- package/providers/sendgrid.d.ts +3 -0
- package/providers/sendgrid.d.ts.map +1 -0
- package/providers/sendgrid.js +2 -0
- package/providers/simplelogin.d.ts +3 -0
- package/providers/simplelogin.d.ts.map +1 -0
- package/providers/simplelogin.js +2 -0
- package/providers/slack.d.ts +3 -0
- package/providers/slack.d.ts.map +1 -0
- package/providers/slack.js +2 -0
- package/providers/spotify.d.ts +3 -0
- package/providers/spotify.d.ts.map +1 -0
- package/providers/spotify.js +2 -0
- package/providers/strava.d.ts +3 -0
- package/providers/strava.d.ts.map +1 -0
- package/providers/strava.js +2 -0
- package/providers/threads.d.ts +3 -0
- package/providers/threads.d.ts.map +1 -0
- package/providers/threads.js +2 -0
- package/providers/tiktok.d.ts +3 -0
- package/providers/tiktok.d.ts.map +1 -0
- package/providers/tiktok.js +2 -0
- package/providers/todoist.d.ts +3 -0
- package/providers/todoist.d.ts.map +1 -0
- package/providers/todoist.js +2 -0
- package/providers/trakt.d.ts +3 -0
- package/providers/trakt.d.ts.map +1 -0
- package/providers/trakt.js +2 -0
- package/providers/twitch.d.ts +3 -0
- package/providers/twitch.d.ts.map +1 -0
- package/providers/twitch.js +2 -0
- package/providers/twitter.d.ts +3 -0
- package/providers/twitter.d.ts.map +1 -0
- package/providers/twitter.js +2 -0
- package/providers/united-effects.d.ts +3 -0
- package/providers/united-effects.d.ts.map +1 -0
- package/providers/united-effects.js +2 -0
- package/providers/vipps.d.ts +3 -0
- package/providers/vipps.d.ts.map +1 -0
- package/providers/vipps.js +2 -0
- package/providers/vk.d.ts +3 -0
- package/providers/vk.d.ts.map +1 -0
- package/providers/vk.js +2 -0
- package/providers/webauthn.d.ts +3 -0
- package/providers/webauthn.d.ts.map +1 -0
- package/providers/webauthn.js +2 -0
- package/providers/webex.d.ts +3 -0
- package/providers/webex.d.ts.map +1 -0
- package/providers/webex.js +2 -0
- package/providers/wechat.d.ts +3 -0
- package/providers/wechat.d.ts.map +1 -0
- package/providers/wechat.js +2 -0
- package/providers/wikimedia.d.ts +3 -0
- package/providers/wikimedia.d.ts.map +1 -0
- package/providers/wikimedia.js +2 -0
- package/providers/wordpress.d.ts +3 -0
- package/providers/wordpress.d.ts.map +1 -0
- package/providers/wordpress.js +2 -0
- package/providers/workos.d.ts +3 -0
- package/providers/workos.d.ts.map +1 -0
- package/providers/workos.js +2 -0
- package/providers/yandex.d.ts +3 -0
- package/providers/yandex.d.ts.map +1 -0
- package/providers/yandex.js +2 -0
- package/providers/zitadel.d.ts +3 -0
- package/providers/zitadel.d.ts.map +1 -0
- package/providers/zitadel.js +2 -0
- package/providers/zoho.d.ts +3 -0
- package/providers/zoho.d.ts.map +1 -0
- package/providers/zoho.js +2 -0
- package/providers/zoom.d.ts +3 -0
- package/providers/zoom.d.ts.map +1 -0
- package/providers/zoom.js +2 -0
- package/react.d.ts +102 -0
- package/react.d.ts.map +1 -0
- package/react.js +361 -0
- package/src/adapters.ts +1 -0
- package/src/index.ts +430 -0
- package/src/jwt.ts +9 -0
- package/src/lib/actions.ts +144 -0
- package/src/lib/client.ts +245 -0
- package/src/lib/env.ts +36 -0
- package/src/lib/index.ts +313 -0
- package/src/lib/types.ts +30 -0
- package/src/middleware.ts +16 -0
- package/src/next.ts +16 -0
- package/src/providers/42-school.ts +2 -0
- package/src/providers/apple.ts +2 -0
- package/src/providers/asgardeo.ts +2 -0
- package/src/providers/atlassian.ts +2 -0
- package/src/providers/auth0.ts +2 -0
- package/src/providers/authentik.ts +2 -0
- package/src/providers/azure-ad-b2c.ts +2 -0
- package/src/providers/azure-ad.ts +2 -0
- package/src/providers/azure-devops.ts +2 -0
- package/src/providers/bankid-no.ts +2 -0
- package/src/providers/battlenet.ts +2 -0
- package/src/providers/beyondidentity.ts +2 -0
- package/src/providers/bitbucket.ts +2 -0
- package/src/providers/box.ts +2 -0
- package/src/providers/boxyhq-saml.ts +2 -0
- package/src/providers/bungie.ts +2 -0
- package/src/providers/click-up.ts +2 -0
- package/src/providers/cognito.ts +2 -0
- package/src/providers/coinbase.ts +2 -0
- package/src/providers/concept2.ts +2 -0
- package/src/providers/credentials.ts +2 -0
- package/src/providers/descope.ts +2 -0
- package/src/providers/discord.ts +2 -0
- package/src/providers/dribbble.ts +2 -0
- package/src/providers/dropbox.ts +2 -0
- package/src/providers/duende-identity-server6.ts +2 -0
- package/src/providers/email.ts +2 -0
- package/src/providers/eventbrite.ts +2 -0
- package/src/providers/eveonline.ts +2 -0
- package/src/providers/facebook.ts +2 -0
- package/src/providers/faceit.ts +2 -0
- package/src/providers/figma.ts +2 -0
- package/src/providers/forwardemail.ts +2 -0
- package/src/providers/foursquare.ts +2 -0
- package/src/providers/freshbooks.ts +2 -0
- package/src/providers/frontegg.ts +2 -0
- package/src/providers/fusionauth.ts +2 -0
- package/src/providers/github.ts +2 -0
- package/src/providers/gitlab.ts +2 -0
- package/src/providers/google.ts +2 -0
- package/src/providers/hubspot.ts +2 -0
- package/src/providers/huggingface.ts +2 -0
- package/src/providers/identity-server4.ts +2 -0
- package/src/providers/index.ts +1 -0
- package/src/providers/instagram.ts +2 -0
- package/src/providers/kakao.ts +2 -0
- package/src/providers/keycloak.ts +2 -0
- package/src/providers/kinde.ts +2 -0
- package/src/providers/line.ts +2 -0
- package/src/providers/linkedin.ts +2 -0
- package/src/providers/logto.ts +2 -0
- package/src/providers/loops.ts +2 -0
- package/src/providers/mailchimp.ts +2 -0
- package/src/providers/mailgun.ts +2 -0
- package/src/providers/mailru.ts +2 -0
- package/src/providers/mastodon.ts +2 -0
- package/src/providers/mattermost.ts +2 -0
- package/src/providers/medium.ts +2 -0
- package/src/providers/microsoft-entra-id.ts +2 -0
- package/src/providers/naver.ts +2 -0
- package/src/providers/netlify.ts +2 -0
- package/src/providers/netsuite.ts +2 -0
- package/src/providers/nextcloud.ts +2 -0
- package/src/providers/nodemailer.ts +2 -0
- package/src/providers/notion.ts +2 -0
- package/src/providers/okta.ts +2 -0
- package/src/providers/onelogin.ts +2 -0
- package/src/providers/ory-hydra.ts +2 -0
- package/src/providers/osso.ts +2 -0
- package/src/providers/osu.ts +2 -0
- package/src/providers/passage.ts +2 -0
- package/src/providers/passkey.ts +2 -0
- package/src/providers/patreon.ts +2 -0
- package/src/providers/ping-id.ts +2 -0
- package/src/providers/pinterest.ts +2 -0
- package/src/providers/pipedrive.ts +2 -0
- package/src/providers/postmark.ts +2 -0
- package/src/providers/reddit.ts +2 -0
- package/src/providers/resend.ts +2 -0
- package/src/providers/roblox.ts +2 -0
- package/src/providers/salesforce.ts +2 -0
- package/src/providers/sendgrid.ts +2 -0
- package/src/providers/simplelogin.ts +2 -0
- package/src/providers/slack.ts +2 -0
- package/src/providers/spotify.ts +2 -0
- package/src/providers/strava.ts +2 -0
- package/src/providers/threads.ts +2 -0
- package/src/providers/tiktok.ts +2 -0
- package/src/providers/todoist.ts +2 -0
- package/src/providers/trakt.ts +2 -0
- package/src/providers/twitch.ts +2 -0
- package/src/providers/twitter.ts +2 -0
- package/src/providers/united-effects.ts +2 -0
- package/src/providers/vipps.ts +2 -0
- package/src/providers/vk.ts +2 -0
- package/src/providers/webauthn.ts +2 -0
- package/src/providers/webex.ts +2 -0
- package/src/providers/wechat.ts +2 -0
- package/src/providers/wikimedia.ts +2 -0
- package/src/providers/wordpress.ts +2 -0
- package/src/providers/workos.ts +2 -0
- package/src/providers/yandex.ts +2 -0
- package/src/providers/zitadel.ts +2 -0
- package/src/providers/zoho.ts +2 -0
- package/src/providers/zoom.ts +2 -0
- package/src/react.tsx +546 -0
- package/src/webauthn.ts +152 -0
- package/webauthn.d.ts +9 -0
- package/webauthn.d.ts.map +1 -0
- package/webauthn.js +92 -0
- package/dist/actions-CMtg7FGv.js +0 -1
- package/dist/actions-CjQUKaXF.mjs +0 -200
- package/dist/client/index.js +0 -1
- package/dist/client/index.mjs +0 -484
- package/dist/components/AccountPicker.d.ts +0 -11
- package/dist/components/OAuthButton.d.ts +0 -11
- package/dist/components/PassKeyButton.d.ts +0 -11
- package/dist/components/PassKeyRegister.d.ts +0 -10
- package/dist/components/TwoFactorSetup.d.ts +0 -8
- package/dist/components/TwoFactorVerify.d.ts +0 -9
- package/dist/core/account-picker/encryption.d.ts +0 -22
- package/dist/core/account-picker/index.d.ts +0 -22
- package/dist/core/auth/email-password.d.ts +0 -145
- package/dist/core/auth/oauth/index.d.ts +0 -14
- package/dist/core/auth/oauth/oauth-handler.d.ts +0 -172
- package/dist/core/auth/oauth/pkce.d.ts +0 -168
- package/dist/core/auth/oauth/providers.d.ts +0 -198
- package/dist/core/auth/oauth/state-store-cookie.d.ts +0 -83
- package/dist/core/auth/oauth/state-store-redis.d.ts +0 -25
- package/dist/core/auth/oauth/state-store.d.ts +0 -48
- package/dist/core/auth/otp.d.ts +0 -184
- package/dist/core/auth/passkey.d.ts +0 -35
- package/dist/core/auth/password.d.ts +0 -22
- package/dist/core/auth/signin-unified.d.ts +0 -33
- package/dist/core/auth/two-factor.d.ts +0 -28
- package/dist/core/client/index.d.ts +0 -132
- package/dist/core/client/token-refresh-manager.d.ts +0 -48
- package/dist/core/errors/index.d.ts +0 -269
- package/dist/core/index.d.ts +0 -9
- package/dist/core/logger/index.d.ts +0 -147
- package/dist/core/mulguard/auth-handlers.d.ts +0 -100
- package/dist/core/mulguard/defaults.d.ts +0 -58
- package/dist/core/mulguard/index.d.ts +0 -9
- package/dist/core/mulguard/integration.d.ts +0 -104
- package/dist/core/mulguard/oauth-handler.d.ts +0 -93
- package/dist/core/mulguard/session-manager.d.ts +0 -94
- package/dist/core/security/csrf.d.ts +0 -46
- package/dist/core/security/headers.d.ts +0 -24
- package/dist/core/security/index.d.ts +0 -132
- package/dist/core/security/rate-limit.d.ts +0 -39
- package/dist/core/security/security-manager.d.ts +0 -236
- package/dist/core/security/validation.d.ts +0 -251
- package/dist/core/security/xss.d.ts +0 -20
- package/dist/core/session/index.d.ts +0 -35
- package/dist/core/session/session-manager.d.ts +0 -235
- package/dist/core/types/auth.d.ts +0 -290
- package/dist/core/types/errors.d.ts +0 -200
- package/dist/core/types/index.d.ts +0 -484
- package/dist/core/utils/auth-helpers.d.ts +0 -136
- package/dist/core/utils/logger.d.ts +0 -121
- package/dist/index/index.js +0 -1
- package/dist/index/index.mjs +0 -2736
- package/dist/index.d.ts +0 -18
- package/dist/mulguard.d.ts +0 -373
- package/dist/nextjs/client/hooks.d.ts +0 -122
- package/dist/nextjs/client/index.d.ts +0 -13
- package/dist/nextjs/client/provider.d.ts +0 -69
- package/dist/nextjs/client/server-actions-helper.d.ts +0 -22
- package/dist/nextjs/handlers/api.d.ts +0 -10
- package/dist/nextjs/handlers/index.d.ts +0 -9
- package/dist/nextjs/handlers/route.d.ts +0 -76
- package/dist/nextjs/index.d.ts +0 -15
- package/dist/nextjs/proxy/index.d.ts +0 -149
- package/dist/nextjs/proxy/security.d.ts +0 -9
- package/dist/nextjs/server/actions.d.ts +0 -30
- package/dist/nextjs/server/auth.d.ts +0 -65
- package/dist/nextjs/server/cookies.d.ts +0 -41
- package/dist/nextjs/server/index.d.ts +0 -18
- package/dist/nextjs/server/oauth-state.d.ts +0 -32
- package/dist/nextjs/server/session-helpers.d.ts +0 -24
- package/dist/nextjs/server/session.d.ts +0 -144
- package/dist/oauth-state-Drwz6fES.js +0 -1
- package/dist/oauth-state-pdypStuS.mjs +0 -210
- package/dist/server/index.js +0 -1
- package/dist/server/index.mjs +0 -29
package/dist/index.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* mulguard
|
|
3
|
-
* Modern authentication library for Next.js
|
|
4
|
-
*
|
|
5
|
-
* This is the **server-safe** entrypoint. It must NOT import React
|
|
6
|
-
* or any client-only hooks/components, otherwise Next.js will treat
|
|
7
|
-
* anything that imports `mulguard` as a Client Component.
|
|
8
|
-
*
|
|
9
|
-
* - Server / shared functionality is exported from here.
|
|
10
|
-
* - React hooks & components are exposed via subpath exports:
|
|
11
|
-
* - `mulguard/client` for hooks & provider
|
|
12
|
-
* - (future) `mulguard/components/*` for UI components
|
|
13
|
-
*/
|
|
14
|
-
export * from './core';
|
|
15
|
-
export * from './mulguard';
|
|
16
|
-
export * from './nextjs/server';
|
|
17
|
-
export * from './nextjs/handlers';
|
|
18
|
-
export * from './nextjs/proxy';
|
package/dist/mulguard.d.ts
DELETED
|
@@ -1,373 +0,0 @@
|
|
|
1
|
-
import { MulguardConfig, Session, AuthResult, EmailCredentials, RegisterData, Verify2FAData, User, SessionConfig } from './core/types';
|
|
2
|
-
/**
|
|
3
|
-
* Main Mulguard authentication instance interface
|
|
4
|
-
*
|
|
5
|
-
* Provides all authentication methods using Server Actions
|
|
6
|
-
* User implements custom logic in the config
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```typescript
|
|
10
|
-
* const auth = mulguard({
|
|
11
|
-
* actions: {
|
|
12
|
-
* signIn: {
|
|
13
|
-
* email: async (credentials) => {
|
|
14
|
-
* // Your custom sign in logic
|
|
15
|
-
* const user = await db.user.findUnique({ where: { email: credentials.email } })
|
|
16
|
-
* if (!user || !await bcrypt.compare(credentials.password, user.password)) {
|
|
17
|
-
* return { success: false, error: 'Invalid credentials' }
|
|
18
|
-
* }
|
|
19
|
-
* return { success: true, user, session: { user, expiresAt: new Date() } }
|
|
20
|
-
* }
|
|
21
|
-
* }
|
|
22
|
-
* }
|
|
23
|
-
* })
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
export interface MulguardInstance {
|
|
27
|
-
/**
|
|
28
|
-
* Get current session
|
|
29
|
-
* Uses custom getSession action if provided, otherwise falls back to reading from cookie
|
|
30
|
-
*/
|
|
31
|
-
getSession(): Promise<Session | null>;
|
|
32
|
-
/**
|
|
33
|
-
* Get access token from current session
|
|
34
|
-
*/
|
|
35
|
-
getAccessToken(): Promise<string | null>;
|
|
36
|
-
/**
|
|
37
|
-
* Get refresh token from current session
|
|
38
|
-
*/
|
|
39
|
-
getRefreshToken(): Promise<string | null>;
|
|
40
|
-
/**
|
|
41
|
-
* Check if session has valid tokens
|
|
42
|
-
*/
|
|
43
|
-
hasValidTokens(): Promise<boolean>;
|
|
44
|
-
/**
|
|
45
|
-
* Set session directly (useful for Server Actions)
|
|
46
|
-
* Saves session to cookie automatically
|
|
47
|
-
*
|
|
48
|
-
* @param session - Session object to save
|
|
49
|
-
* @returns Result indicating success or failure
|
|
50
|
-
*
|
|
51
|
-
* @example
|
|
52
|
-
* ```typescript
|
|
53
|
-
* const result = await auth.setSession(newSession)
|
|
54
|
-
* if (!result.success) {
|
|
55
|
-
* console.warn('Failed to save session:', result.error)
|
|
56
|
-
* }
|
|
57
|
-
* ```
|
|
58
|
-
*/
|
|
59
|
-
setSession(session: Session): Promise<{
|
|
60
|
-
success: boolean;
|
|
61
|
-
error?: string;
|
|
62
|
-
warning?: string;
|
|
63
|
-
}>;
|
|
64
|
-
/**
|
|
65
|
-
* Internal method to get session config for Server Actions
|
|
66
|
-
* Used by verify2FAAction to save session cookie directly
|
|
67
|
-
* @internal
|
|
68
|
-
*/
|
|
69
|
-
_getSessionConfig(): {
|
|
70
|
-
cookieName: string;
|
|
71
|
-
config: SessionConfig;
|
|
72
|
-
};
|
|
73
|
-
/**
|
|
74
|
-
* Internal method to get callbacks for Server Actions
|
|
75
|
-
* Used by Server Actions to execute callbacks
|
|
76
|
-
* @internal
|
|
77
|
-
*/
|
|
78
|
-
_getCallbacks?(): import('./core/types').CallbacksConfig;
|
|
79
|
-
/**
|
|
80
|
-
* Internal method to get token refresh manager
|
|
81
|
-
* Used by HttpClient for automatic token refresh
|
|
82
|
-
* @internal
|
|
83
|
-
*/
|
|
84
|
-
_getTokenRefreshManager?(): import('./core/client/token-refresh-manager').TokenRefreshManager | undefined;
|
|
85
|
-
/**
|
|
86
|
-
* Unified sign in method - supports both unified and direct method calls
|
|
87
|
-
*
|
|
88
|
-
* @example
|
|
89
|
-
* ```typescript
|
|
90
|
-
* // Unified interface (auth.js-like)
|
|
91
|
-
* await auth.signIn('google')
|
|
92
|
-
* await auth.signIn('credentials', { email: 'user@example.com', password: 'password' })
|
|
93
|
-
* await auth.signIn('otp', { email: 'user@example.com', code: '123456' })
|
|
94
|
-
*
|
|
95
|
-
* // Direct methods (for backward compatibility)
|
|
96
|
-
* await auth.signIn.email({ email: 'user@example.com', password: 'password' })
|
|
97
|
-
* await auth.signIn.oauth('google')
|
|
98
|
-
* ```
|
|
99
|
-
*/
|
|
100
|
-
signIn: {
|
|
101
|
-
/**
|
|
102
|
-
* Unified sign in function - supports provider-based and direct method calls
|
|
103
|
-
*/
|
|
104
|
-
(provider: 'google' | 'github' | 'apple' | 'facebook' | string): Promise<{
|
|
105
|
-
url: string;
|
|
106
|
-
state: string;
|
|
107
|
-
}>;
|
|
108
|
-
(provider: 'credentials', credentials: EmailCredentials): Promise<AuthResult>;
|
|
109
|
-
(provider: 'otp', options: {
|
|
110
|
-
email: string;
|
|
111
|
-
code?: string;
|
|
112
|
-
}): Promise<AuthResult>;
|
|
113
|
-
(provider: 'passkey', options?: {
|
|
114
|
-
userId?: string;
|
|
115
|
-
}): Promise<AuthResult>;
|
|
116
|
-
/**
|
|
117
|
-
* Sign in with email and password (direct method)
|
|
118
|
-
* Executes custom email action from config
|
|
119
|
-
*/
|
|
120
|
-
email(credentials: EmailCredentials): Promise<AuthResult>;
|
|
121
|
-
/**
|
|
122
|
-
* Initiate OAuth sign in flow (direct method)
|
|
123
|
-
* Executes custom oauth action from config
|
|
124
|
-
*/
|
|
125
|
-
oauth?(provider: string): Promise<{
|
|
126
|
-
url: string;
|
|
127
|
-
state: string;
|
|
128
|
-
}>;
|
|
129
|
-
/**
|
|
130
|
-
* Sign in with PassKey/WebAuthn (direct method)
|
|
131
|
-
* Executes custom passkey action from config
|
|
132
|
-
*/
|
|
133
|
-
passkey?(options?: {
|
|
134
|
-
userId?: string;
|
|
135
|
-
}): Promise<AuthResult>;
|
|
136
|
-
/**
|
|
137
|
-
* Sign in with OTP (direct method)
|
|
138
|
-
* Executes custom otp action from config
|
|
139
|
-
*/
|
|
140
|
-
otp?(email: string, code?: string): Promise<AuthResult>;
|
|
141
|
-
};
|
|
142
|
-
/**
|
|
143
|
-
* Sign in methods - uses custom actions from config (legacy interface)
|
|
144
|
-
*/
|
|
145
|
-
signInMethods: {
|
|
146
|
-
/**
|
|
147
|
-
* Sign in with email and password
|
|
148
|
-
* Executes custom email action from config
|
|
149
|
-
*/
|
|
150
|
-
email(credentials: EmailCredentials): Promise<AuthResult>;
|
|
151
|
-
/**
|
|
152
|
-
* Initiate OAuth sign in flow
|
|
153
|
-
* Executes custom oauth action from config
|
|
154
|
-
*/
|
|
155
|
-
oauth?(provider: string): Promise<{
|
|
156
|
-
url: string;
|
|
157
|
-
state: string;
|
|
158
|
-
}>;
|
|
159
|
-
/**
|
|
160
|
-
* Sign in with PassKey/WebAuthn
|
|
161
|
-
* Executes custom passkey action from config
|
|
162
|
-
*/
|
|
163
|
-
passkey?(options?: {
|
|
164
|
-
userId?: string;
|
|
165
|
-
}): Promise<AuthResult>;
|
|
166
|
-
/**
|
|
167
|
-
* Sign in with OTP
|
|
168
|
-
* Executes custom otp action from config
|
|
169
|
-
*/
|
|
170
|
-
otp?(email: string, code?: string): Promise<AuthResult>;
|
|
171
|
-
};
|
|
172
|
-
/**
|
|
173
|
-
* Register new user
|
|
174
|
-
* Executes custom signUp action from config
|
|
175
|
-
*/
|
|
176
|
-
signUp?(data: RegisterData): Promise<AuthResult>;
|
|
177
|
-
/**
|
|
178
|
-
* Sign out current session
|
|
179
|
-
* Executes custom signOut action from config
|
|
180
|
-
*/
|
|
181
|
-
signOut(): Promise<{
|
|
182
|
-
success: boolean;
|
|
183
|
-
error?: string;
|
|
184
|
-
}>;
|
|
185
|
-
/**
|
|
186
|
-
* Request password reset
|
|
187
|
-
* Executes custom resetPassword action from config
|
|
188
|
-
*/
|
|
189
|
-
resetPassword?(email: string): Promise<{
|
|
190
|
-
success: boolean;
|
|
191
|
-
error?: string;
|
|
192
|
-
}>;
|
|
193
|
-
/**
|
|
194
|
-
* Verify email address with token
|
|
195
|
-
* Executes custom verifyEmail action from config
|
|
196
|
-
*/
|
|
197
|
-
verifyEmail?(token: string): Promise<{
|
|
198
|
-
success: boolean;
|
|
199
|
-
error?: string;
|
|
200
|
-
}>;
|
|
201
|
-
/**
|
|
202
|
-
* Refresh session
|
|
203
|
-
* Executes custom refreshSession action from config with improved error handling
|
|
204
|
-
*/
|
|
205
|
-
refreshSession?(): Promise<Session | null>;
|
|
206
|
-
/**
|
|
207
|
-
* OAuth callback handler
|
|
208
|
-
* Executes custom oauthCallback action from config
|
|
209
|
-
*/
|
|
210
|
-
oauthCallback?(provider: string, code: string, state: string): Promise<AuthResult>;
|
|
211
|
-
/**
|
|
212
|
-
* Store OAuth state for validation (useful when using external backend API)
|
|
213
|
-
* This allows storing state generated by backend APIs in mulguard's state store
|
|
214
|
-
*
|
|
215
|
-
* @param state - OAuth state token
|
|
216
|
-
* @param provider - OAuth provider name
|
|
217
|
-
*/
|
|
218
|
-
storeOAuthState?(state: string, provider: string): Promise<void>;
|
|
219
|
-
/**
|
|
220
|
-
* PassKey methods
|
|
221
|
-
*/
|
|
222
|
-
passkey?: {
|
|
223
|
-
register?(options?: {
|
|
224
|
-
name?: string;
|
|
225
|
-
userId?: string;
|
|
226
|
-
}): Promise<{
|
|
227
|
-
success: boolean;
|
|
228
|
-
passkeyId?: string;
|
|
229
|
-
error?: string;
|
|
230
|
-
}>;
|
|
231
|
-
authenticate?(options?: {
|
|
232
|
-
userId?: string;
|
|
233
|
-
}): Promise<AuthResult>;
|
|
234
|
-
list?(): Promise<Array<{
|
|
235
|
-
id: string;
|
|
236
|
-
name: string;
|
|
237
|
-
createdAt: Date;
|
|
238
|
-
lastUsedAt?: Date;
|
|
239
|
-
}>>;
|
|
240
|
-
remove?(passKeyId: string): Promise<{
|
|
241
|
-
success: boolean;
|
|
242
|
-
error?: string;
|
|
243
|
-
}>;
|
|
244
|
-
};
|
|
245
|
-
/**
|
|
246
|
-
* Two-Factor Authentication methods
|
|
247
|
-
*/
|
|
248
|
-
twoFactor?: {
|
|
249
|
-
enable?(): Promise<{
|
|
250
|
-
success: boolean;
|
|
251
|
-
qrCode?: string;
|
|
252
|
-
secret?: string;
|
|
253
|
-
error?: string;
|
|
254
|
-
}>;
|
|
255
|
-
verify?(code: string): Promise<{
|
|
256
|
-
success: boolean;
|
|
257
|
-
backupCodes?: string[];
|
|
258
|
-
error?: string;
|
|
259
|
-
}>;
|
|
260
|
-
disable?(): Promise<{
|
|
261
|
-
success: boolean;
|
|
262
|
-
error?: string;
|
|
263
|
-
}>;
|
|
264
|
-
generateBackupCodes?(): Promise<{
|
|
265
|
-
success: boolean;
|
|
266
|
-
backupCodes?: string[];
|
|
267
|
-
error?: string;
|
|
268
|
-
}>;
|
|
269
|
-
isEnabled?(): Promise<boolean>;
|
|
270
|
-
/**
|
|
271
|
-
* Verify 2FA code after initial sign in
|
|
272
|
-
* Used when signIn returns requires2FA: true
|
|
273
|
-
*/
|
|
274
|
-
verify2FA?(data: Verify2FAData): Promise<AuthResult>;
|
|
275
|
-
};
|
|
276
|
-
/**
|
|
277
|
-
* Verify 2FA code after initial sign in
|
|
278
|
-
* Used when signIn returns requires2FA: true
|
|
279
|
-
*
|
|
280
|
-
* @param data - 2FA verification data
|
|
281
|
-
* @param options - Optional configuration
|
|
282
|
-
* @param options.skipCookieSave - If true, skip automatic cookie saving (useful for Server Actions)
|
|
283
|
-
*/
|
|
284
|
-
verify2FA?(data: Verify2FAData, options?: {
|
|
285
|
-
skipCookieSave?: boolean;
|
|
286
|
-
}): Promise<AuthResult>;
|
|
287
|
-
/**
|
|
288
|
-
* Account Picker methods (optional)
|
|
289
|
-
* For remembering last logged-in users
|
|
290
|
-
*/
|
|
291
|
-
accountPicker?: {
|
|
292
|
-
getLastUsers(): Promise<import('./core/types').RememberedUser[]>;
|
|
293
|
-
rememberUser(user: User, provider?: 'email' | 'oauth' | 'passkey'): Promise<void>;
|
|
294
|
-
clearUser(userId: string): Promise<void>;
|
|
295
|
-
clearAll(): Promise<void>;
|
|
296
|
-
};
|
|
297
|
-
}
|
|
298
|
-
/**
|
|
299
|
-
* Create Mulguard instance with custom authentication actions
|
|
300
|
-
*
|
|
301
|
-
* @example
|
|
302
|
-
* ```typescript
|
|
303
|
-
* // lib/auth.ts
|
|
304
|
-
* import { mulguard } from 'mulguard'
|
|
305
|
-
*
|
|
306
|
-
* export const auth = mulguard({
|
|
307
|
-
* session: {
|
|
308
|
-
* cookieName: '__mulguard_session',
|
|
309
|
-
* expiresIn: 60 * 60 * 24 * 7, // 7 days
|
|
310
|
-
* },
|
|
311
|
-
* actions: {
|
|
312
|
-
* signIn: {
|
|
313
|
-
* email: async (credentials) => {
|
|
314
|
-
* // Your custom sign in logic
|
|
315
|
-
* // Connect to your database, validate credentials, etc.
|
|
316
|
-
* const user = await yourDb.findUser(credentials.email)
|
|
317
|
-
* if (!user || !await verifyPassword(credentials.password, user.password)) {
|
|
318
|
-
* return { success: false, error: 'Invalid credentials' }
|
|
319
|
-
* }
|
|
320
|
-
*
|
|
321
|
-
* const session = {
|
|
322
|
-
* user,
|
|
323
|
-
* expiresAt: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000)
|
|
324
|
-
* }
|
|
325
|
-
*
|
|
326
|
-
* return { success: true, user, session }
|
|
327
|
-
* }
|
|
328
|
-
* },
|
|
329
|
-
* signUp: async (data) => {
|
|
330
|
-
* // Your custom sign up logic
|
|
331
|
-
* const user = await yourDb.createUser(data)
|
|
332
|
-
* return { success: true, user }
|
|
333
|
-
* },
|
|
334
|
-
* signOut: async () => {
|
|
335
|
-
* // Your custom sign out logic
|
|
336
|
-
* await yourDb.invalidateSession()
|
|
337
|
-
* return { success: true }
|
|
338
|
-
* },
|
|
339
|
-
* getSession: async () => {
|
|
340
|
-
* // Your custom session retrieval logic
|
|
341
|
-
* return await yourDb.getSession()
|
|
342
|
-
* }
|
|
343
|
-
* }
|
|
344
|
-
* })
|
|
345
|
-
* ```
|
|
346
|
-
*/
|
|
347
|
-
/**
|
|
348
|
-
* Creates a Mulguard authentication instance.
|
|
349
|
-
*
|
|
350
|
-
* @template TUser - User type (extends base User)
|
|
351
|
-
* @template TSession - Session type (extends base Session)
|
|
352
|
-
* @param config - Mulguard configuration
|
|
353
|
-
* @returns Mulguard instance
|
|
354
|
-
*
|
|
355
|
-
* @example
|
|
356
|
-
* ```typescript
|
|
357
|
-
* const auth = mulguard({
|
|
358
|
-
* actions: {
|
|
359
|
-
* signIn: {
|
|
360
|
-
* email: async (credentials) => {
|
|
361
|
-
* // Your custom sign in logic
|
|
362
|
-
* const user = await db.user.findUnique({ where: { email: credentials.email } })
|
|
363
|
-
* if (!user || !await bcrypt.compare(credentials.password, user.password)) {
|
|
364
|
-
* return { success: false, error: 'Invalid credentials' }
|
|
365
|
-
* }
|
|
366
|
-
* return { success: true, user, session: { user, expiresAt: new Date() } }
|
|
367
|
-
* }
|
|
368
|
-
* }
|
|
369
|
-
* }
|
|
370
|
-
* })
|
|
371
|
-
* ```
|
|
372
|
-
*/
|
|
373
|
-
export declare function mulguard<TUser extends User = User, TSession extends Session<TUser> = Session<TUser>>(config: MulguardConfig<TUser, TSession>): MulguardInstance;
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { Session, AuthResult, EmailCredentials, RegisterData, RememberedUser, Verify2FAData } from '../../core/types';
|
|
2
|
-
import { MulguardInstance } from '../../mulguard';
|
|
3
|
-
export interface UseAuthReturn {
|
|
4
|
-
session: Session | null;
|
|
5
|
-
isLoading: boolean;
|
|
6
|
-
/**
|
|
7
|
-
* Unified sign in method - professional interface similar to auth.js
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```typescript
|
|
11
|
-
* // OAuth providers
|
|
12
|
-
* await signIn('google')
|
|
13
|
-
* await signIn('github')
|
|
14
|
-
*
|
|
15
|
-
* // Credentials
|
|
16
|
-
* await signIn('credentials', { email: 'user@example.com', password: 'password' })
|
|
17
|
-
*
|
|
18
|
-
* // OTP
|
|
19
|
-
* await signIn('otp', { email: 'user@example.com', code: '123456' })
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
signIn(provider: 'google' | 'github' | 'apple' | 'facebook' | string): Promise<{
|
|
23
|
-
url: string;
|
|
24
|
-
state: string;
|
|
25
|
-
}>;
|
|
26
|
-
signIn(provider: 'credentials', credentials: EmailCredentials): Promise<AuthResult>;
|
|
27
|
-
signIn(provider: 'otp', options: {
|
|
28
|
-
email: string;
|
|
29
|
-
code?: string;
|
|
30
|
-
}): Promise<AuthResult>;
|
|
31
|
-
signIn(provider: 'passkey', options?: {
|
|
32
|
-
userId?: string;
|
|
33
|
-
}): Promise<AuthResult>;
|
|
34
|
-
/**
|
|
35
|
-
* Legacy sign in methods (for backward compatibility)
|
|
36
|
-
*/
|
|
37
|
-
signInMethods: {
|
|
38
|
-
email(credentials: EmailCredentials): Promise<AuthResult>;
|
|
39
|
-
oauth(provider: string): Promise<{
|
|
40
|
-
url: string;
|
|
41
|
-
state: string;
|
|
42
|
-
}>;
|
|
43
|
-
passkey(options?: {
|
|
44
|
-
userId?: string;
|
|
45
|
-
}): Promise<AuthResult>;
|
|
46
|
-
otp(email: string, code?: string): Promise<AuthResult>;
|
|
47
|
-
};
|
|
48
|
-
signUp(data: RegisterData): Promise<AuthResult>;
|
|
49
|
-
signOut(): Promise<void>;
|
|
50
|
-
resetPassword(email: string): Promise<{
|
|
51
|
-
success: boolean;
|
|
52
|
-
error?: string;
|
|
53
|
-
}>;
|
|
54
|
-
verifyEmail(token: string): Promise<{
|
|
55
|
-
success: boolean;
|
|
56
|
-
error?: string;
|
|
57
|
-
}>;
|
|
58
|
-
verify2FA(data: Verify2FAData): Promise<AuthResult>;
|
|
59
|
-
}
|
|
60
|
-
export interface UseSessionReturn {
|
|
61
|
-
session: Session | null;
|
|
62
|
-
isLoading: boolean;
|
|
63
|
-
error: Error | null;
|
|
64
|
-
}
|
|
65
|
-
export interface UseAccountPickerReturn {
|
|
66
|
-
lastUsers: RememberedUser[];
|
|
67
|
-
isLoading: boolean;
|
|
68
|
-
rememberUser: (user: {
|
|
69
|
-
id: string;
|
|
70
|
-
email: string;
|
|
71
|
-
name: string;
|
|
72
|
-
avatar?: string;
|
|
73
|
-
}, provider?: 'email' | 'oauth' | 'passkey') => Promise<void>;
|
|
74
|
-
clearUser: (userId: string) => Promise<void>;
|
|
75
|
-
clearAll: () => Promise<void>;
|
|
76
|
-
refresh: () => Promise<void>;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Main authentication hook
|
|
80
|
-
*
|
|
81
|
-
* @example
|
|
82
|
-
* ```tsx
|
|
83
|
-
* import { useAuth } from 'mulguard/client'
|
|
84
|
-
* import { auth } from '@/auth'
|
|
85
|
-
*
|
|
86
|
-
* function LoginButton() {
|
|
87
|
-
* const { session, signIn, signOut } = useAuth(auth)
|
|
88
|
-
* // ...
|
|
89
|
-
* }
|
|
90
|
-
* ```
|
|
91
|
-
*/
|
|
92
|
-
export declare function useAuth(auth: MulguardInstance): UseAuthReturn;
|
|
93
|
-
/**
|
|
94
|
-
* Session hook
|
|
95
|
-
*
|
|
96
|
-
* @example
|
|
97
|
-
* ```tsx
|
|
98
|
-
* import { useSession } from 'mulguard/client'
|
|
99
|
-
* import { auth } from '@/auth'
|
|
100
|
-
*
|
|
101
|
-
* function Profile() {
|
|
102
|
-
* const { session, isLoading } = useSession(auth)
|
|
103
|
-
* // ...
|
|
104
|
-
* }
|
|
105
|
-
* ```
|
|
106
|
-
*/
|
|
107
|
-
export declare function useSession(auth: MulguardInstance): UseSessionReturn;
|
|
108
|
-
/**
|
|
109
|
-
* Account Picker hook
|
|
110
|
-
*
|
|
111
|
-
* @example
|
|
112
|
-
* ```tsx
|
|
113
|
-
* import { useAccountPicker } from 'mulguard/client'
|
|
114
|
-
* import { auth } from '@/auth'
|
|
115
|
-
*
|
|
116
|
-
* function AccountList() {
|
|
117
|
-
* const { lastUsers, clearUser } = useAccountPicker(auth)
|
|
118
|
-
* // ...
|
|
119
|
-
* }
|
|
120
|
-
* ```
|
|
121
|
-
*/
|
|
122
|
-
export declare function useAccountPicker(auth: MulguardInstance): UseAccountPickerReturn;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Next.js Client-Side Integration for Mulguard Authentication Library.
|
|
3
|
-
*
|
|
4
|
-
* Provides client-side utilities for Next.js including:
|
|
5
|
-
* - React hooks (useAuth, useSession)
|
|
6
|
-
* - Provider component
|
|
7
|
-
* - Client-side session management
|
|
8
|
-
*
|
|
9
|
-
* @module @mulguard/nextjs/client
|
|
10
|
-
*/
|
|
11
|
-
export * from './hooks';
|
|
12
|
-
export * from './provider';
|
|
13
|
-
export type { Session, User, AuthResult } from '../../core/types';
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
import { MulguardInstance } from '../../mulguard';
|
|
3
|
-
import { useSession, useAccountPicker } from './hooks';
|
|
4
|
-
interface MulguardContextValue {
|
|
5
|
-
auth: MulguardInstance;
|
|
6
|
-
session: ReturnType<typeof useSession>;
|
|
7
|
-
accountPicker: ReturnType<typeof useAccountPicker>;
|
|
8
|
-
}
|
|
9
|
-
interface MulguardProviderProps {
|
|
10
|
-
auth: MulguardInstance;
|
|
11
|
-
children: ReactNode;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Mulguard Provider - provides auth instance to children
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```tsx
|
|
18
|
-
* import { MulguardProvider } from 'mulguard/client'
|
|
19
|
-
* import { auth } from '@/lib/auth'
|
|
20
|
-
*
|
|
21
|
-
* export default function RootLayout({ children }) {
|
|
22
|
-
* return (
|
|
23
|
-
* <MulguardProvider auth={auth}>
|
|
24
|
-
* {children}
|
|
25
|
-
* </MulguardProvider>
|
|
26
|
-
* )
|
|
27
|
-
* }
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
export declare function MulguardProvider({ auth, children }: MulguardProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
-
/**
|
|
32
|
-
* Use Mulguard context
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
* ```tsx
|
|
36
|
-
* import { useMulguardContext } from 'mulguard/client'
|
|
37
|
-
*
|
|
38
|
-
* function Component() {
|
|
39
|
-
* const { auth, session } = useMulguardContext()
|
|
40
|
-
* // ...
|
|
41
|
-
* }
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export declare function useMulguardContext(): MulguardContextValue;
|
|
45
|
-
/**
|
|
46
|
-
* Convenience hook that uses context
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* ```tsx
|
|
50
|
-
* import { useAuthFromContext } from 'mulguard/client'
|
|
51
|
-
*
|
|
52
|
-
* function Component() {
|
|
53
|
-
* const { signIn, signOut } = useAuthFromContext()
|
|
54
|
-
* // ...
|
|
55
|
-
* }
|
|
56
|
-
* ```
|
|
57
|
-
*/
|
|
58
|
-
export declare function useAuthFromContext(): import('./hooks').UseAuthReturn;
|
|
59
|
-
/**
|
|
60
|
-
* @deprecated Use MulguardProvider instead
|
|
61
|
-
* This is kept for backward compatibility
|
|
62
|
-
*/
|
|
63
|
-
export declare const AuthProvider: typeof MulguardProvider;
|
|
64
|
-
/**
|
|
65
|
-
* @deprecated Use useMulguardContext instead
|
|
66
|
-
* This is kept for backward compatibility
|
|
67
|
-
*/
|
|
68
|
-
export declare const useAuthContext: typeof useMulguardContext;
|
|
69
|
-
export {};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { MulguardInstance } from '../../mulguard';
|
|
2
|
-
import { Verify2FAData, AuthResult, EmailCredentials, RegisterData } from '../../core/types';
|
|
3
|
-
/**
|
|
4
|
-
* Verify 2FA with automatic fallback
|
|
5
|
-
* Tries Server Action first, then falls back to Route Handler
|
|
6
|
-
*/
|
|
7
|
-
export declare function verify2FAWithFallback(auth: MulguardInstance, data: Verify2FAData): Promise<AuthResult>;
|
|
8
|
-
/**
|
|
9
|
-
* Sign out with automatic fallback
|
|
10
|
-
*/
|
|
11
|
-
export declare function signOutWithFallback(auth: MulguardInstance): Promise<{
|
|
12
|
-
success: boolean;
|
|
13
|
-
error?: string;
|
|
14
|
-
}>;
|
|
15
|
-
/**
|
|
16
|
-
* Sign in with email with automatic fallback
|
|
17
|
-
*/
|
|
18
|
-
export declare function signInEmailWithFallback(auth: MulguardInstance, credentials: EmailCredentials): Promise<AuthResult>;
|
|
19
|
-
/**
|
|
20
|
-
* Sign up with automatic fallback
|
|
21
|
-
*/
|
|
22
|
-
export declare function signUpWithFallback(auth: MulguardInstance, data: RegisterData): Promise<AuthResult>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { NextRequest, NextResponse } from 'next/server';
|
|
2
|
-
import { MulguardInstance } from '../../mulguard';
|
|
3
|
-
/**
|
|
4
|
-
* Create API route handler
|
|
5
|
-
*/
|
|
6
|
-
export declare function createApiHandler(_auth: MulguardInstance): (request: NextRequest) => Promise<NextResponse<any>>;
|
|
7
|
-
/**
|
|
8
|
-
* OAuth callback handler
|
|
9
|
-
*/
|
|
10
|
-
export declare function createOAuthCallbackHandler(auth: MulguardInstance): (request: NextRequest) => Promise<NextResponse<unknown>>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Next.js Route Handlers for Mulguard Authentication Library.
|
|
3
|
-
*
|
|
4
|
-
* Provides route handlers for Next.js App Router API routes.
|
|
5
|
-
*
|
|
6
|
-
* @module @mulguard/nextjs/handlers
|
|
7
|
-
*/
|
|
8
|
-
export { toNextJsHandler } from './route';
|
|
9
|
-
export { createApiHandler } from './api';
|