mulguard 1.1.6 → 1.1.8
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 +21 -1078
- 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 +117 -73
- 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/LICENSE +0 -70
- package/dist/actions-CExpv_dD.js +0 -1
- package/dist/actions-DeCfLtHA.mjs +0 -184
- package/dist/client/hooks.d.ts +0 -122
- package/dist/client/index.d.ts +0 -5
- package/dist/client/index.js +0 -1
- package/dist/client/index.mjs +0 -478
- package/dist/client/provider.d.ts +0 -69
- package/dist/client/server-actions-helper.d.ts +0 -22
- 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/index.d.ts +0 -40
- package/dist/core/auth/oauth-providers.d.ts +0 -197
- 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 -45
- package/dist/core/auth/oauth.d.ts +0 -20
- 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/index.d.ts +0 -11
- 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/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/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/types/auth.d.ts +0 -290
- package/dist/core/types/errors.d.ts +0 -200
- package/dist/core/types/index.d.ts +0 -462
- package/dist/core/utils/auth-helpers.d.ts +0 -136
- package/dist/core/utils/logger.d.ts +0 -121
- package/dist/handlers/api.d.ts +0 -10
- package/dist/handlers/route.d.ts +0 -76
- package/dist/index/index.js +0 -1
- package/dist/index/index.mjs +0 -2229
- package/dist/index.d.ts +0 -21
- package/dist/middleware/index.d.ts +0 -28
- package/dist/middleware/proxy.d.ts +0 -53
- package/dist/middleware/security.d.ts +0 -9
- package/dist/mulguard.d.ts +0 -373
- package/dist/oauth-state-DKle8eCr.mjs +0 -289
- package/dist/oauth-state-DlvrCV11.js +0 -1
- package/dist/server/actions.d.ts +0 -86
- package/dist/server/auth.d.ts +0 -65
- package/dist/server/cookies.d.ts +0 -42
- package/dist/server/helpers.d.ts +0 -10
- package/dist/server/index.d.ts +0 -14
- package/dist/server/index.js +0 -1
- package/dist/server/index.mjs +0 -31
- package/dist/server/middleware.d.ts +0 -39
- package/dist/server/oauth-state.d.ts +0 -30
- package/dist/server/session-helpers.d.ts +0 -26
- package/dist/server/session.d.ts +0 -28
- package/dist/server/utils.d.ts +0 -10
package/dist/index.d.ts
DELETED
|
@@ -1,21 +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 './server';
|
|
17
|
-
export * from './handlers/route';
|
|
18
|
-
export * from './handlers/api';
|
|
19
|
-
export * from './middleware';
|
|
20
|
-
export { createProxyMiddleware, checkRole as checkRoleProxy, } from './middleware/proxy';
|
|
21
|
-
export * from './middleware/security';
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { NextResponse, NextRequest } from 'next/server';
|
|
2
|
-
import { MulguardInstance } from '../mulguard';
|
|
3
|
-
export interface AuthMiddlewareConfig {
|
|
4
|
-
/**
|
|
5
|
-
* Protected routes - require authentication
|
|
6
|
-
*/
|
|
7
|
-
protectedRoutes?: string[];
|
|
8
|
-
/**
|
|
9
|
-
* Public routes - accessible without authentication
|
|
10
|
-
*/
|
|
11
|
-
publicRoutes?: string[];
|
|
12
|
-
/**
|
|
13
|
-
* Redirect to login if not authenticated
|
|
14
|
-
*/
|
|
15
|
-
redirectTo?: string;
|
|
16
|
-
/**
|
|
17
|
-
* Redirect to home if authenticated (for login/register pages)
|
|
18
|
-
*/
|
|
19
|
-
redirectIfAuthenticated?: string;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Create authentication middleware
|
|
23
|
-
*/
|
|
24
|
-
export declare function createAuthMiddleware(auth: MulguardInstance, config?: AuthMiddlewareConfig): (request: NextRequest) => Promise<NextResponse<unknown>>;
|
|
25
|
-
/**
|
|
26
|
-
* Helper to check if user has required role
|
|
27
|
-
*/
|
|
28
|
-
export declare function checkRole(auth: MulguardInstance, requiredRole: string): Promise<boolean>;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { NextResponse, NextRequest } from 'next/server';
|
|
2
|
-
import { MulguardInstance } from '../mulguard';
|
|
3
|
-
export interface ProxyMiddlewareConfig {
|
|
4
|
-
/**
|
|
5
|
-
* Auth instance
|
|
6
|
-
*/
|
|
7
|
-
auth: MulguardInstance;
|
|
8
|
-
/**
|
|
9
|
-
* Protected routes - require authentication
|
|
10
|
-
*/
|
|
11
|
-
protectedRoutes?: string[];
|
|
12
|
-
/**
|
|
13
|
-
* Public routes - accessible without authentication
|
|
14
|
-
*/
|
|
15
|
-
publicRoutes?: string[];
|
|
16
|
-
/**
|
|
17
|
-
* Redirect to login if not authenticated
|
|
18
|
-
*/
|
|
19
|
-
redirectTo?: string;
|
|
20
|
-
/**
|
|
21
|
-
* Redirect to home if authenticated (for login/register pages)
|
|
22
|
-
*/
|
|
23
|
-
redirectIfAuthenticated?: string;
|
|
24
|
-
/**
|
|
25
|
-
* API routes prefix (default: '/api/auth')
|
|
26
|
-
*/
|
|
27
|
-
apiPrefix?: string;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Create proxy middleware for authentication
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* ```typescript
|
|
34
|
-
* // middleware.ts
|
|
35
|
-
* import { auth } from '@/auth'
|
|
36
|
-
* import { createProxyMiddleware } from 'mulguard/middleware/proxy'
|
|
37
|
-
*
|
|
38
|
-
* export default createProxyMiddleware({
|
|
39
|
-
* auth,
|
|
40
|
-
* protectedRoutes: ['/dashboard', '/profile'],
|
|
41
|
-
* redirectTo: '/login',
|
|
42
|
-
* })
|
|
43
|
-
*
|
|
44
|
-
* export const config = {
|
|
45
|
-
* matcher: ['/((?!_next/static|_next/image|favicon.ico).*)'],
|
|
46
|
-
* }
|
|
47
|
-
* ```
|
|
48
|
-
*/
|
|
49
|
-
export declare function createProxyMiddleware(config: ProxyMiddlewareConfig): (request: NextRequest) => Promise<NextResponse<unknown>>;
|
|
50
|
-
/**
|
|
51
|
-
* Helper to check if user has required role
|
|
52
|
-
*/
|
|
53
|
-
export declare function checkRole(auth: MulguardInstance, requiredRole: string): Promise<boolean>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { NextResponse, NextRequest } from 'next/server';
|
|
2
|
-
/**
|
|
3
|
-
* Apply security headers to response
|
|
4
|
-
*/
|
|
5
|
-
export declare function withSecurityHeaders(_request: NextRequest, response: NextResponse): NextResponse;
|
|
6
|
-
/**
|
|
7
|
-
* Security middleware wrapper
|
|
8
|
-
*/
|
|
9
|
-
export declare function createSecurityMiddleware(): (request: NextRequest) => Promise<NextResponse>;
|
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;
|