Learn about Auth0’s implementation of passkeys, a phishing-resistant WebAuthn device credential with advantages over traditional authentication methods.
Passkeys are a secure, passwordless authentication method modeled on the FIDO2 (WebAuthn and CTAP) standards. They have several advantages over traditional identifier/password authentication:
Passkeys let users authenticate with biometrics or device-bound credentials (like a fingerprint, PIN, or pattern), so login is faster and doesn’t require remembering a password.
Passkeys synchronize credentials across devices so users don’t need to re-enroll on each new device.
Passkeys are resistant to phishing because they use public key cryptography, so there are no shared secrets, and the user’s device generates unique keys for every account.
Passkeys support more reliable recovery because the stored credentials can survive the loss of an originating device.
Passkeys bind credentials to a specific domain so users can authenticate across an entire domain with a single passkey.
Auth0 supports passkeys as an authentication method for database connections with three methods of implementation depending on the kind of application:
Universal Login passkeys for web-based applications
Auth0 has a limit of 20 passkeys per user.When you enable passkeys for your database connection, passkeys become available for users during sign-up and login.
Sign-up flow preview
1
The sign-up UI prompts the user for their email address.
The user enters their email address and selects Continue.
2
The sign-up UI prompts the user to use passkeys.
The user selects Create a passkey.
3
The user's credential manager prompts them to create a passkey.
If the user selects Continue, it prompts them to authenticate with their device’s credentials.
Example device credential authentication prompt
If the user selects Try another way, it prompts them to scan a QR code with the device where they want to create the passkey.
Example QR code
Login flow preview
1
The login UI prompts the user for their email address and/or a passkey.
Your database connection’s passkey policy lets you choose whether the login UI allows autofill, displays the passkey button, or both.
If the user enters their email, autofill suggests their stored passkeys alongside other credentials, like passwords.If the user selects the Continue with a passkey button, their credential manager prompts them to choose which passkey to use.
2
The user's credential manager prompts them to authenticate with their device credentials.
Example device credential authentication prompt
Passkeys do not replace or invalidate a user’s existing credentials. When a user creates their passkey, it is added to their account as an authentication method, but any existing email/username and password credentials remain valid.
Passkeys and passwords can coexist in the same login experience; you can allow end users choose either method. When you enable passkeys on a database connection, password sign-in remains available as long as your connection still allows password authentication.Your database connection’s passkey policy controls how passkeys appear at login:
Autofill (conditional UI): When the end user focuses the email or username field, their credential manager suggests stored passkeys alongside other saved credentials, such as passwords. Users who prefer a password can ignore the suggestion and type their credentials as usual.
Passkey button: The login screen shows a Continue with a passkey button in addition to the standard identifier and password fields, so end users can pick passkeys or fall back to their password.
You can enable autofill, the passkey button, or both. To keep password sign-in available, ensure the connection permits password authentication and configure these options in your connection’s passkey policy. To learn more, read Configure Passkey Policy.
If is enabled, the user may be prompted to complete an MFA challenge after authenticating with a passkey based on settings and risk assessment.The default behavior is to require the completion of an MFA challenge regardless if the authentication method used was a password or a passkey. Given the high level of security passkeys provide, you may skip MFA for users that have authenticated with a passkey in order to reduce friction. This can be achieved by using a post-login Action.To learn more, read Reduce friction with passkeys and Multi-Factor Authentication.
If you have Multiple Custom Domains enabled on your tenant, Auth0 maintains a one-to-one relationship between a domain and the passkey for that domain. Users with a passkey-enabled database can sign up and log in with a passkey, tied to the specific domain it was created on. Users can enroll a passkey for only one domain (the first one they enroll with, among the multiple custom domains on the tenant).For passwordless login, the selected custom domain should be reflected in the Magic Link for the passwordless login flow.
The relying party identifier (RP ID) is a domain that WebAuthn binds to credentials like passkeys. The RP ID defines which request origins are allowed for authentication.
Your application’s domain must be added to the Allowed Origins (CORS) list in your application settings for the RP ID to work correctly.
Defining the RP ID as a suffix of the origin lets users authenticate across subdomains using one passkey. For example, if your web application is served at login.example.com and your native application is served at app.example.com, you can configure the RP ID to example.com so end users can authenticate both applications (and any other example.com subdomain) with a single passkey.
Environment
Root Domain
RP ID
Web
https://login.example.com
example.com
iOS
app.example.com
example.com
Android
assetlinks.json
example.com
With Auth0, you can customize the RP ID to the root or parent domain so users can authenticate on mobile applications or web applications using the same passkey. If you’re using Multiple Custom Domains, you can also set rp.id for each custom domain.To learn how to customize the RP ID, read Configure Passkey Policy.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Auth0 Docs","description":"Auth0 documentation","colors":{"primary":"#9921FE","light":"#BC6DFF","dark":"#343434"},"logo":{"light":"https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/logo/light.svg","dark":"https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/logo/dark.svg","href":"https://auth0.com/docs/"},"favicon":"https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/logo/favicon.svg","api":{"params":{"post":["x-release-lifecycle"]},"playground":{"proxy":false},"url":"full"},"background":{"decoration":"gradient"},"seo":{"metatags":{"canonical":"https://auth0.com","og:image":"docs/images/share-image.png"}},"fonts":{"body":{"family":"Inter","source":"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900\u0026display=swap","format":"woff2"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"adobe":{"launchUrl":"https://assets.adobedtm.com/6bb3f7663515/7006851c9849/launch-af624fe9e34f.min.js"},"gtm":{"tagId":"GTM-W7FRLJ"},"heap":{"appId":"1279799279"},"onetrust":{"domainScript":"96e22fd8-d619-4cdd-a3c6-d51529d21faf","categoryId":"C0002","scriptSource":"https://cdn.cookielaw.org/scripttemplates/otSDKStub.js"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"languages":[{"language":"en","footer":{"socials":{"x-twitter":"https://x.com/auth0","github":"https://github.com/auth0","linkedin":"https://www.linkedin.com/company/auth0"},"links":[{"header":"Developers","items":[{"label":"Developer Hub","href":"https://developer.auth0.com"},{"label":"Code Samples \u0026 Guides","href":"https://developer.auth0.com/resources"},{"label":"Zero Index Newsletter","href":"https://auth0.com/blog/newsletter"},{"label":"Blog","href":"https://auth0.com/blog"},{"label":"Changelog","href":"https://auth0.com/changelog"}]},{"header":"Docs","items":[{"label":"Documentation","href":"https://auth0.com/docs"},{"label":"Quickstarts","href":"https://auth0.com/docs/quickstarts"},{"label":"APIs","href":"https://auth0.com/docs/api"},{"label":"SDK Libraries","href":"https://auth0.com/docs/libraries"},{"label":"Learn","href":"https://auth0.com/learn"},{"label":"Intro to IAM (CIAM)","href":"https://auth0.com/intro-to-iam"},{"label":"Reports","href":"https://auth0.com/resources/whitepapers"},{"label":"Webinars","href":"https://auth0.com/resources/webinars"}]},{"header":"Support Center","items":[{"label":"Community","href":"https://community.auth0.com"},{"label":"Help","href":"https://support.auth0.com"},{"label":"FAQs","href":"https://auth0.com/docs/troubleshoot"},{"label":"Auth0","href":"https://auth0.com"}]},{"header":"Company","items":[{"label":"Our Customers","href":"https://auth0.com/customers"},{"label":"Compliance","href":"https://auth0.com/security"},{"label":"Partners","href":"https://auth0.com/partners"},{"label":"Careers","href":"https://www.okta.com/company/careers"},{"label":"Okta + Auth0","href":"https://www.okta.com/okta-and-auth0"},{"label":"About us","href":"https://auth0.com/about"}]}]},"href":"docs/get-started"},{"language":"fr-ca","footer":{"socials":{"x-twitter":"https://x.com/auth0","github":"https://github.com/auth0","linkedin":"https://www.linkedin.com/company/auth0"},"links":[{"header":"Développeurs","items":[{"label":"Espace développeurs","href":"https://developer.auth0.com"},{"label":"Exemples de code et guides","href":"https://developer.auth0.com/resources"},{"label":"Infolettre Zero Index","href":"https://auth0.com/blog/newsletter"},{"label":"Blogue","href":"https://auth0.com/blog"},{"label":"Journal des modifications","href":"https://auth0.com/changelog"}]},{"header":"Documentation","items":[{"label":"Documentation","href":"https://auth0.com/docs"},{"label":"Guides de démarrage rapide","href":"https://auth0.com/docs/quickstarts"},{"label":"API","href":"https://auth0.com/docs/api"},{"label":"Bibliothèques SDK","href":"https://auth0.com/docs/libraries"},{"label":"Apprendre","href":"https://auth0.com/learn"},{"label":"Introduction à l’IAM (CIAM)","href":"https://auth0.com/intro-to-iam"},{"label":"Rapports","href":"https://auth0.com/resources/whitepapers"},{"label":"Webinaires","href":"https://auth0.com/resources/webinars"}]},{"header":"Centre d’assistance","items":[{"label":"Communauté","href":"https://community.auth0.com"},{"label":"Aide","href":"https://support.auth0.com"},{"label":"Foire aux questions","href":"https://auth0.com/docs/troubleshoot"},{"label":"Auth0","href":"https://auth0.com"}]},{"header":"Entreprise","items":[{"label":"Nos clients","href":"https://auth0.com/customers"},{"label":"Conformité","href":"https://auth0.com/security"},{"label":"Partenaires","href":"https://auth0.com/partners"},{"label":"Carrières","href":"https://www.okta.com/company/careers"},{"label":"Okta + Auth0","href":"https://www.okta.com/okta-and-auth0"},{"label":"À propos de nous","href":"https://auth0.com/about"}]}]},"href":"docs/fr-ca/get-started"},{"language":"ja-jp","footer":{"socials":{"x-twitter":"https://x.com/auth0","github":"https://github.com/auth0","linkedin":"https://www.linkedin.com/company/auth0"},"links":[{"header":"開発者向け","items":[{"label":"開発者ハブ","href":"https://developer.auth0.com"},{"label":"コードサンプルとガイド","href":"https://developer.auth0.com/resources"},{"label":"Zero Index Newsletter","href":"https://auth0.com/blog/newsletter"},{"label":"ブログ","href":"https://auth0.com/blog"},{"label":"変更履歴","href":"https://auth0.com/changelog"}]},{"header":"ドキュメント","items":[{"label":"ドキュメント","href":"https://auth0.com/docs"},{"label":"クイックスタート","href":"https://auth0.com/docs/quickstarts"},{"label":"API","href":"https://auth0.com/docs/api"},{"label":"SDKライブラリ","href":"https://auth0.com/docs/libraries"},{"label":"教育","href":"https://auth0.com/learn"},{"label":"IAM(CIAM)入門","href":"https://auth0.com/intro-to-iam"},{"label":"レポート","href":"https://auth0.com/resources/whitepapers"},{"label":"ウェビナー","href":"https://auth0.com/resources/webinars"}]},{"header":"サポートセンター","items":[{"label":"コミュニティ","href":"https://community.auth0.com"},{"label":"ヘルプ","href":"https://support.auth0.com"},{"label":"よくある質問","href":"https://auth0.com/docs/troubleshoot"},{"label":"Auth0","href":"https://auth0.com"}]},{"header":"会社情報","items":[{"label":"導入企業","href":"https://auth0.com/customers"},{"label":"コンプライアンス","href":"https://auth0.com/security"},{"label":"パートナー","href":"https://auth0.com/partners"},{"label":"採用情報","href":"https://www.okta.com/company/careers"},{"label":"Okta + Auth0","href":"https://www.okta.com/okta-and-auth0"},{"label":"私たちについて","href":"https://auth0.com/about"}]}]},"href":"docs/ja-jp/get-started"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"auth0","hasAudioNarration":false,"actualSubdomain":"auth0","customDomains":["auth0.com","auth0.auth0-mintlify.app"],"gitSource":{"type":"github","owner":"atko-cic","repo":"docs","deployBranch":"main","contentDirectory":"main","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae262e8a379718e60e1d943","collectionId":"b2712bd9-e5f1-426c-b4bb-cd407b797e89","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae262e8a379718e60e1d943"},"feedback":{"thumbs":true,"contextualFeedback":{"textInputOnly":true,"allowEmail":false},"agentFeedback":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae28b5cecf3d9743cda4541","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"fr-ca","tag":"Outils de développement","count":1040},{"language":"ja-jp","tag":"開発ツール","count":1040},{"language":"en","tag":"Dev Tools","count":838},{"language":"en","tag":"APIs","count":614},{"language":"fr-ca","tag":"API","count":608},{"language":"ja-jp","tag":"API","count":608},{"language":"en","tag":"Management API","count":490},{"language":"fr-ca","tag":"Management API","count":484},{"language":"ja-jp","tag":"Management API","count":484},{"language":"en","tag":"Get Started","count":289},{"language":"ja-jp","tag":"はじめに","count":285},{"language":"fr-ca","tag":"Personnaliser","count":275},{"language":"ja-jp","tag":"カスタマイズ","count":275},{"language":"fr-ca","tag":"Pour commencer","count":268},{"language":"en","tag":"Extend","count":220},{"language":"en","tag":"SDKs","count":209},{"language":"fr-ca","tag":"SDK","count":209},{"language":"ja-jp","tag":"SDK","count":209},{"language":"en","tag":"Monitor","count":195},{"language":"en","tag":"Authenticate","count":186},{"language":"fr-ca","tag":"Authentifier","count":186},{"language":"ja-jp","tag":"認証","count":186},{"language":"en","tag":"Logs","count":180},{"language":"en","tag":"Tenant Log Catalog","count":170},{"language":"fr-ca","tag":"Catalogue des journaux du locataire","count":170},{"language":"ja-jp","tag":"テナントログカタログ","count":170},{"language":"fr-ca","tag":"Sécuriser","count":151},{"language":"ja-jp","tag":"セキュリティ","count":151},{"language":"fr-ca","tag":"Protéger votre application","count":133},{"language":"ja-jp","tag":"アプリケーションを保護する","count":133}],"searchSettings":{"showContentSnippets":true}},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":false,"enableAskAiSearchBar":false,"deflection":{"enabled":false,"type":"link"}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"skip-index-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"ui/css/recipe.css","content":"#content-area:has(.recipe-container){overflow:visible!important}.recipe-content .recipe-section:first-of-type{margin-top:1rem}.active-section{opacity:1!important}"},{"filePath":"ui/css/styles.css","content":"@font-face{font-family:\"Inter Fallback\";src:local(\"Arial\");size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}body{font-feature-settings:\"kern\",\"liga\",\"clig\",\"calt\",\"rvrn\";font-family:\"Inter\",\"Inter Fallback\",system-ui,-apple-system,sans-serif}.mdx-content{line-height:1.625}#page-title{font-size:var(--text-3xl);line-height:1.15}.mdx-content .link{font-weight:inherit;border:0;text-decoration:underline;text-underline-offset:2px;transition:opacity .15s ease-out}.mdx-content .link:hover{color:rgb(var(--tw-prose-links))}.dark .mdx-content .link:hover,.mdx-content .link,.nav-tabs-item[data-active]{color:rgb(var(--primary))}.mdx-content table{border-radius:12px;border:0;box-shadow:0 0 0 1px rgb(from var(--border-muted) r g b/50%);overflow:hidden}img.icon.inline{margin:0}#navbar{padding-bottom:.5rem;box-shadow:0 0 0 1px oklch(from var(--border) l c h/.1),0 1px 1px -1px oklch(from var(--shadow) l c h/.06),0 2px 2px -2px oklch(from var(--shadow) l c h/.06),0 2px 4px -2px oklch(from var(--shadow) l c h/.06)}body:has([data-uc-component] [data-slot=dialog-content]) #navbar>div:first-child{border-bottom-color:transparent}body[data-scroll-locked]:has([data-uc-component] [data-slot=dialog-content]){margin-right:0!important}#adu-root{transition:opacity .2s ease,visibility 0s linear 0s}body:has([data-uc-component] [data-slot=dialog-content]) #adu-root{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}.nav-tabs{column-gap:0}.nav-tabs-item{padding:.25rem .75rem;text-shadow:none}.dark .nav-tabs-item[data-active]{color:rgb(var(--primary-light))}.nav-tabs-item:hover{color:rgb(var(--primary));background-color:rgb(var(--primary)/.1);transition:all .15s ease-out;border-radius:.75rem}#sidebar-content{border-color:transparent}.card{transition:all .15s ease}.libraries_card{border:1px solid var(--border-muted)}.api_card_wrapper .card{background-color:transparent;color:var(--foreground-card);border-radius:0;border-bottom:3px solid currentColor!important;margin-bottom:1rem}[data-component-part=field-meta-post]{background-color:lab(91.896% .077188 -6.94053);color:lab(36.091% 25.9241 -68.0384)}.dark [data-component-part=field-meta-post]{background-color:lab(16.0426% 6.71726 -27.2409);color:lab(72.6029% 4.08953 -41.9669)}body:has([data-uc-component] [data-slot=dialog-overlay]) [data-assistant-bar]{visibility:hidden}"},{"filePath":"ui/css/apiExplorer.css","content":".api-section-heading-subtitle,.array-param-field,.object-param-field,.primitive-param-field{font-size:.875rem}svg[style*=\"/zsh.svg\"]{-webkit-mask-image:url(/docs/images/auth0-cli.svg)!important;mask-image:url(/docs/images/auth0-cli.svg)!important}"},{"filePath":"ui/auth0-docs-ui-1.10.0.css","content":"/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */\n@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:host,:root{--adu-font-sans:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--adu-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--adu-color-blue-500:oklch(62.3% .214 259.815);--adu-color-white:#fff;--adu-spacing:.25rem;--adu-text-xs--line-height:calc(1/.75);--adu-text-sm--line-height:calc(1.25/.875);--adu-text-base--line-height:1.5;--adu-text-lg--line-height:calc(1.75/1.125);--adu-text-xl--line-height:calc(1.75/1.25);--adu-text-2xl--line-height:calc(2/1.5);--adu-text-3xl--line-height:1.2;--adu-tracking-widest:.1em;--adu-ease-in-out:cubic-bezier(.4,0,.2,1);--adu-animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--adu-default-transition-duration:.15s;--adu-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--adu-default-font-family:var(--adu-font-sans);--adu-default-mono-font-family:var(--adu-font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0;margin-inline-end:4px}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--adu-default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:var(--adu-default-font-feature-settings,normal);font-variation-settings:var(--adu-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--adu-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:var(--adu-default-mono-font-feature-settings,normal);font-variation-settings:var(--adu-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--color-border);outline-color:var(--color-ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in srgb,var(--color-ring)50%,transparent)}}body{background-color:var(--color-background);color:var(--color-foreground);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:style;font-feature-settings:\"kern\",\"liga\",\"clig\",\"calt\",\"rvrn\"}}@layer components;@layer utilities{.adu\\:\\@container\\/card-header{container:card-header/inline-size}.adu\\:pointer-events-none{pointer-events:none}.adu\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.adu\\:absolute,.adu\\:sr-only{position:absolute}.adu\\:fixed{position:fixed}.adu\\:relative{position:relative}.adu\\:static{position:static}.adu\\:top-0{top:calc(var(--adu-spacing)*0)}.adu\\:right-0{right:calc(var(--adu-spacing)*0)}.adu\\:left-0{left:calc(var(--adu-spacing)*0)}.adu\\:left-2{left:calc(var(--adu-spacing)*2)}.adu\\:left-73{left:calc(var(--adu-spacing)*73)}.adu\\:z-0{z-index:0}.adu\\:z-30{z-index:30}.adu\\:z-50{z-index:50}.adu\\:z-\\[39\\]{z-index:39}.adu\\:col-start-2{grid-column-start:2}.adu\\:row-span-2{grid-row:span 2/span 2}.adu\\:row-start-1{grid-row-start:1}.adu\\:-mx-1{margin-inline:calc(var(--adu-spacing)*-1)}.adu\\:my-1{margin-block:calc(var(--adu-spacing)*1)}.adu\\:mr-2{margin-right:calc(var(--adu-spacing)*2)}.adu\\:-ml-8{margin-left:calc(var(--adu-spacing)*-8)}.adu\\:ml-2{margin-left:calc(var(--adu-spacing)*2)}.adu\\:ml-auto{margin-left:auto}.adu\\:flex{display:flex}.adu\\:grid{display:grid}.adu\\:hidden{display:none}.adu\\:inline-block{display:inline-block}.adu\\:inline-flex{display:inline-flex}.adu\\:aspect-square{aspect-ratio:1}.adu\\:size-2{width:calc(var(--adu-spacing)*2);height:calc(var(--adu-spacing)*2)}.adu\\:size-3\\.5{width:calc(var(--adu-spacing)*3.5);height:calc(var(--adu-spacing)*3.5)}.adu\\:size-4{width:calc(var(--adu-spacing)*4);height:calc(var(--adu-spacing)*4)}.adu\\:size-8{width:calc(var(--adu-spacing)*8);height:calc(var(--adu-spacing)*8)}.adu\\:size-9{width:calc(var(--adu-spacing)*9);height:calc(var(--adu-spacing)*9)}.adu\\:size-full{width:100%;height:100%}.adu\\:h-4{height:calc(var(--adu-spacing)*4)}.adu\\:h-8{height:calc(var(--adu-spacing)*8)}.adu\\:h-9{height:calc(var(--adu-spacing)*9)}.adu\\:h-10{height:calc(var(--adu-spacing)*10)}.adu\\:h-14{height:calc(var(--adu-spacing)*14)}.adu\\:h-\\[18px\\]{height:18px}.adu\\:h-px{height:1px}.adu\\:max-h-\\(--radix-dropdown-menu-content-available-height\\){max-height:var(--radix-dropdown-menu-content-available-height)}.adu\\:max-h-72\\.5{max-height:calc(var(--adu-spacing)*72.5)}.adu\\:max-h-\\[calc\\(100\\%\\+2px\\)\\]{max-height:calc(100% + 2px)}.adu\\:w-4{width:calc(var(--adu-spacing)*4)}.adu\\:w-8{width:calc(var(--adu-spacing)*8)}.adu\\:w-9{width:calc(var(--adu-spacing)*9)}.adu\\:w-48{width:calc(var(--adu-spacing)*48)}.adu\\:w-73{width:calc(var(--adu-spacing)*73)}.adu\\:w-\\[24px\\]{width:24px}.adu\\:w-full{width:100%}.adu\\:min-w-\\[8rem\\]{min-width:8rem}.adu\\:flex-1{flex:1}.adu\\:shrink-0{flex-shrink:0}.adu\\:origin-\\(--radix-dropdown-menu-content-transform-origin\\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.adu\\:animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.adu\\:animate-out{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.adu\\:animate-pulse{animation:var(--adu-animate-pulse)}.adu\\:cursor-default{cursor:default}.adu\\:auto-rows-min{grid-auto-rows:min-content}.adu\\:grid-rows-\\[auto_auto\\]{grid-template-rows:auto auto}.adu\\:flex-col{flex-direction:column}.adu\\:flex-wrap{flex-wrap:wrap}.adu\\:items-center{align-items:center}.adu\\:items-start{align-items:flex-start}.adu\\:justify-center{justify-content:center}.adu\\:gap-0{gap:calc(var(--adu-spacing)*0)}.adu\\:gap-1{gap:calc(var(--adu-spacing)*1)}.adu\\:gap-1\\.5{gap:calc(var(--adu-spacing)*1.5)}.adu\\:gap-2{gap:calc(var(--adu-spacing)*2)}.adu\\:gap-3{gap:calc(var(--adu-spacing)*3)}.adu\\:gap-4{gap:calc(var(--adu-spacing)*4)}.adu\\:gap-6{gap:calc(var(--adu-spacing)*6)}.adu\\:gap-8{gap:calc(var(--adu-spacing)*8)}.adu\\:self-start{align-self:flex-start}.adu\\:self-stretch{align-self:stretch}.adu\\:justify-self-end{justify-self:flex-end}.adu\\:overflow-auto{overflow:auto}.adu\\:overflow-hidden{overflow:hidden}.adu\\:overflow-x-hidden{overflow-x:hidden}.adu\\:overflow-y-auto{overflow-y:auto}.adu\\:rounded{border-radius:.25rem}.adu\\:rounded-full{border-radius:9999px}.adu\\:rounded-md{border-radius:.5rem}.adu\\:rounded-none{border-radius:0}.adu\\:rounded-sm{border-radius:.375rem}.adu\\:rounded-xl{border-radius:.875rem}.adu\\:border{border-style:var(--tw-border-style);border-width:1px}.adu\\:border\\!{border-style:var(--tw-border-style)!important;border-width:1px!important}.adu\\:border-border-input{border-color:var(--border-input)}.adu\\:border-border-muted{border-color:var(--border-muted)}.adu\\:bg-\\[\\#232220\\]{background-color:#232220}.adu\\:bg-blue-500{background-color:var(--adu-color-blue-500)}.adu\\:bg-border-input{background-color:var(--border-input)}.adu\\:bg-button-primary{background-color:var(--button-primary)}.adu\\:bg-card{background-color:var(--card)}.adu\\:bg-destructive{background-color:var(--destructive)}.adu\\:bg-input{background-color:var(--input)}.adu\\:bg-page{background-color:var(--page)}.adu\\:bg-popover{background-color:var(--popover)}.adu\\:bg-surface-muted{background-color:var(--surface-muted)}.adu\\:bg-surface-selected{background-color:var(--surface-selected)}.adu\\:fill-current{fill:currentColor}.adu\\:p-0{padding:calc(var(--adu-spacing)*0)}.adu\\:p-1{padding:calc(var(--adu-spacing)*1)}.adu\\:p-2\\.5{padding:calc(var(--adu-spacing)*2.5)}.adu\\:p-4{padding:calc(var(--adu-spacing)*4)}.adu\\:px-1{padding-inline:calc(var(--adu-spacing)*1)}.adu\\:px-2{padding-inline:calc(var(--adu-spacing)*2)}.adu\\:px-3{padding-inline:calc(var(--adu-spacing)*3)}.adu\\:px-4{padding-inline:calc(var(--adu-spacing)*4)}.adu\\:px-6{padding-inline:calc(var(--adu-spacing)*6)}.adu\\:py-1\\.5{padding-block:calc(var(--adu-spacing)*1.5)}.adu\\:py-2{padding-block:calc(var(--adu-spacing)*2)}.adu\\:py-3{padding-block:calc(var(--adu-spacing)*3)}.adu\\:py-6{padding-block:calc(var(--adu-spacing)*6)}.adu\\:pt-3{padding-top:calc(var(--adu-spacing)*3)}.adu\\:pr-2{padding-right:calc(var(--adu-spacing)*2)}.adu\\:pl-8{padding-left:calc(var(--adu-spacing)*8)}.adu\\:text-center{text-align:center}.adu\\:font-aeonik{font-family:Aeonik,sans-serif}.adu\\:font-inter{font-family:Inter,Inter Fallback,system-ui,-apple-system,sans-serif}.adu\\:font-roboto-mono{font-family:Roboto Mono,sans-serif}.adu\\:text-2xl{font-size:2rem;line-height:var(--tw-leading,var(--adu-text-2xl--line-height))}.adu\\:text-3xl{font-size:2.5rem;line-height:var(--tw-leading,var(--adu-text-3xl--line-height))}.adu\\:text-base{font-size:1rem;line-height:var(--tw-leading,var(--adu-text-base--line-height))}.adu\\:text-lg{font-size:1.25rem;line-height:var(--tw-leading,var(--adu-text-lg--line-height))}.adu\\:text-sm{font-size:.875rem;line-height:var(--tw-leading,var(--adu-text-sm--line-height))}.adu\\:text-sm\\!{font-size:.875rem!important;line-height:var(--tw-leading,var(--adu-text-sm--line-height))!important}.adu\\:text-xl{font-size:1.5rem;line-height:var(--tw-leading,var(--adu-text-xl--line-height))}.adu\\:text-xs{font-size:.75rem;line-height:var(--tw-leading,var(--adu-text-xs--line-height))}.adu\\:leading-1\\.5{--tw-leading:calc(var(--adu-spacing)*1.5);line-height:calc(var(--adu-spacing)*1.5)}.adu\\:leading-1\\.15{--tw-leading:1.15;line-height:1.15}.adu\\:leading-1\\.20{--tw-leading:1.2;line-height:1.2}.adu\\:leading-1\\.25{--tw-leading:1.25;line-height:1.25}.adu\\:leading-1\\.30{--tw-leading:1.3;line-height:1.3}.adu\\:leading-1\\.33{--tw-leading:1.33;line-height:1.33}.adu\\:leading-1\\.40{--tw-leading:1.4;line-height:1.4}.adu\\:leading-1\\.45{--tw-leading:1.45;line-height:1.45}.adu\\:leading-1\\.65{--tw-leading:1.65;line-height:1.65}.adu\\:leading-none{--tw-leading:1;line-height:1}.adu\\:font-medium{--tw-font-weight:500;font-weight:500}.adu\\:font-normal{--tw-font-weight:400;font-weight:400}.adu\\:font-semibold{--tw-font-weight:600;font-weight:600}.adu\\:tracking-n-2xl{--tw-tracking:-.02em;letter-spacing:-.02em}.adu\\:tracking-n-3xl{--tw-tracking:-.02125em;letter-spacing:-.02125em}.adu\\:tracking-n-5xl{--tw-tracking:-.044em;letter-spacing:-.044em}.adu\\:tracking-n-6xl{--tw-tracking:-.05em;letter-spacing:-.05em}.adu\\:tracking-n-lg{--tw-tracking:-.011em;letter-spacing:-.011em}.adu\\:tracking-n-md{--tw-tracking:-.00625em;letter-spacing:-.00625em}.adu\\:tracking-n-sm{--tw-tracking:-.006em;letter-spacing:-.006em}.adu\\:tracking-n-xl{--tw-tracking:-.01125em;letter-spacing:-.01125em}.adu\\:tracking-n-xs{--tw-tracking:-.00525em;letter-spacing:-.00525em}.adu\\:tracking-p-2xl{--tw-tracking:.0375em;letter-spacing:.0375em}.adu\\:tracking-p-lg{--tw-tracking:.011em;letter-spacing:.011em}.adu\\:tracking-p-md{--tw-tracking:.01em;letter-spacing:.01em}.adu\\:tracking-p-sm{--tw-tracking:.005em;letter-spacing:.005em}.adu\\:tracking-p-xs{--tw-tracking:.0025em;letter-spacing:.0025em}.adu\\:tracking-widest{--tw-tracking:var(--adu-tracking-widest);letter-spacing:var(--adu-tracking-widest)}.adu\\:whitespace-nowrap{white-space:nowrap}.adu\\:text-\\[\\#f4f4f4\\]{color:#f4f4f4}.adu\\:text-\\[\\#f4f4f4\\]\\!{color:#f4f4f4!important}.adu\\:text-foreground{color:var(--foreground)}.adu\\:text-foreground-bold{color:var(--foreground-bold)}.adu\\:text-foreground-icon{color:var(--foreground-icon)}.adu\\:text-foreground-inverse{color:var(--foreground-inverse)}.adu\\:text-foreground-inverse\\!{color:var(--foreground-inverse)!important}.adu\\:text-white{color:var(--adu-color-white)}.adu\\:uppercase{text-transform:uppercase}.adu\\:underline{text-decoration-line:underline}.adu\\:underline-offset-4{text-underline-offset:4px}.adu\\:underline-offset-auto{text-underline-offset:auto}.adu\\:shadow-lg{--tw-shadow:0px 12px 12px -6px var(--tw-shadow-color,hsla(var(--color-shadow),var(--transparency-level-3))),0px 6px 6px -1.5px var(--tw-shadow-color,hsla(var(--color-shadow),var(--transparency-level-2))),0px 4px 4px 0px var(--tw-shadow-color,hsla(var(--color-shadow),var(--transparency-level-1))),0px 2px 2px -1px var(--tw-shadow-color,hsla(var(--color-shadow),var(--transparency-level-1))),0px 1px 1px -.5px var(--tw-shadow-color,hsla(var(--color-shadow),var(--transparency-level-1)))}.adu\\:shadow-lg,.adu\\:shadow-md,.adu\\:shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.adu\\:shadow-md{--tw-shadow:0px 6px 6px -3px var(--tw-shadow-color,hsla(var(--color-shadow),var(--transparency-level-2))),0px 4px 4px -1px var(--tw-shadow-color,hsla(var(--color-shadow),var(--transparency-level-1))),0px 2px 2px -1px var(--tw-shadow-color,hsla(var(--color-shadow),var(--transparency-level-1))),0px 1px 1px -.5px var(--tw-shadow-color,hsla(var(--color-shadow),var(--transparency-level-1)))}.adu\\:shadow-sm{--tw-shadow:0px 4px 4px -2px var(--tw-shadow-color,hsla(var(--color-shadow),var(--transparency-level-1))),0px 2px 2px -1px var(--tw-shadow-color,hsla(var(--color-shadow),var(--transparency-level-1))),0px 1px 1px -.5px var(--tw-shadow-color,hsla(var(--color-shadow),var(--transparency-level-1)))}.adu\\:outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.adu\\:outline-hidden{outline-offset:2px;outline:2px solid #0000}}.adu\\:transition-\\[height\\],.adu\\:transition-all{transition-property:height;transition-timing-function:var(--tw-ease,var(--adu-default-transition-timing-function));transition-duration:var(--tw-duration,var(--adu-default-transition-duration))}.adu\\:transition-all{transition-property:all}.adu\\:ease-in-out{--tw-ease:var(--adu-ease-in-out);transition-timing-function:var(--adu-ease-in-out)}.adu\\:fill-mode-both{--tw-animation-fill-mode:both;animation-fill-mode:both}.adu\\:outline-none{--tw-outline-style:none;outline-style:none}.adu\\:select-none{-webkit-user-select:none;user-select:none}.adu\\:fade-in{--tw-enter-opacity:0}.adu\\:fade-out{--tw-exit-opacity:0}.adu\\:slide-in-from-left{--tw-enter-translate-x:-100%}.adu\\:slide-in-from-right{--tw-enter-translate-x:100%}.adu\\:slide-out-to-left{--tw-exit-translate-x:-100%}.adu\\:slide-out-to-right{--tw-exit-translate-x:100%}@media (hover:hover){.adu\\:hover\\:bg-button-primary\\/90:hover{background-color:var(--button-primary)}@supports (color:color-mix(in lab,red,red)){.adu\\:hover\\:bg-button-primary\\/90:hover{background-color:color-mix(in oklab,var(--button-primary)90%,transparent)}}.adu\\:hover\\:bg-destructive\\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.adu\\:hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.adu\\:hover\\:underline:hover{text-decoration-line:underline}}.adu\\:focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.adu\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.adu\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.adu\\:focus-visible\\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.adu\\:focus-visible\\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.adu\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.adu\\:disabled\\:opacity-50:disabled{opacity:.5}.adu\\:has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.adu\\:has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-inline:calc(var(--adu-spacing)*2.5)}.adu\\:has-\\[\\>svg\\]\\:px-3:has(>svg){padding-inline:calc(var(--adu-spacing)*3)}.adu\\:has-\\[\\>svg\\]\\:px-4:has(>svg){padding-inline:calc(var(--adu-spacing)*4)}.adu\\:aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.adu\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.adu\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.adu\\:\\[\\\u0026_svg\\]\\:pointer-events-none svg,.adu\\:data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.adu\\:data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.adu\\:data-\\[inset\\]\\:pl-8[data-inset]{padding-left:calc(var(--adu-spacing)*8)}.adu\\:data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(var(--adu-spacing)*2*-1)}.adu\\:data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(var(--adu-spacing)*2)}.adu\\:data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(var(--adu-spacing)*2*-1)}.adu\\:data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(var(--adu-spacing)*2)}.adu\\:data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.adu\\:data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.adu\\:data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.adu\\:data-\\[state\\=open\\]\\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.adu\\:data-\\[state\\=open\\]\\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.adu\\:data-\\[state\\=open\\]\\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.adu\\:data-\\[variant\\=destructive\\]\\:text-destructive[data-variant=destructive]{color:var(--destructive)}.adu\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.adu\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.adu\\:data-\\[variant\\=destructive\\]\\:focus\\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}@media (min-width:64rem){.adu\\:lg\\:block{display:block}.adu\\:lg\\:w-auto{width:auto}}.adu\\:dark\\:bg-destructive\\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.adu\\:dark\\:bg-destructive\\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.adu\\:dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.adu\\:dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.adu\\:dark\\:shadow-xs:is(.dark *){--tw-shadow:0px 2px 2px -1px var(--tw-shadow-color,hsla(var(--color-shadow),var(--transparency-level-1))),0px 1px 1px -.5px var(--tw-shadow-color,hsla(var(--color-shadow),var(--transparency-level-1)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.adu\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.adu\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.adu\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.adu\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.adu\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.adu\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.adu\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.adu\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.adu\\:\\[\\\u0026_svg\\]\\:shrink-0 svg{flex-shrink:0}.adu\\:\\[\\\u0026_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--adu-spacing)*4);height:calc(var(--adu-spacing)*4)}.adu\\:\\[\\.border-b\\]\\:pb-6.border-b{padding-bottom:calc(var(--adu-spacing)*6)}.adu\\:\\[\\.border-t\\]\\:pt-6.border-t{padding-top:calc(var(--adu-spacing)*6)}:is(.adu\\:data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:\\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)!important}}@property --tw-animation-delay{syntax:\"*\";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:\"*\";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:\"*\";inherits:false}@property --tw-animation-fill-mode{syntax:\"*\";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:\"*\";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:\"*\";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:\"*\";inherits:false;initial-value:0}@font-face{font-family:Inter Fallback;src:local(Arial);size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}:root{--page:#fff;--card:#fff;--input:#fff;--destructive:#f3e2de;--popover:#fff;--layer:#fffc;--success:#abdfb9;--info:#b2c5fb;--caution:#ffe573;--warning:#ffbf9f;--button-subtle:#00000008;--surface-muted:#c2c2c2;--surface-selected:#efefef;--button-primary:#191919;--foreground:#767676;--foreground-inverse:#f4f4f4;--foreground-bold:#232220;--foreground-card:#232220;--foreground-destructive:#ba351d;--foreground-popover:#232220;--foreground-selected:#6742d5;--foreground-success:#008140;--foreground-info:#344ac5;--foreground-caution:#907600;--foreground-warning:#c45915;--foreground-icon:#1f1f1f;--border-boldest:#1f1f1f;--border-input:#e6e6e6;--border:#afadaa;--border-muted:#cecdca;--border-success:#008140;--border-info:#344ac5;--border-caution:#907600;--border-warning:#c45915;--code-layer:#f4f4f4;--code-content:#fffc;--code-string-key:#595959;--code-string-value:#149750;--code-boolean:#e27133;--code-delimiter:#afafaf;--code-number:#374ec9;--code-object:#6742d5;--color-shadow:0,0%,0%;--color-shadow-destructive:5,85%,37%;--transparency-level-1:.04;--transparency-level-2:.06;--transparency-level-3:.08;--transparency-level-4:.1;--transparency-level-5:.12;--transparency-level-6:.16;--transparency-level-7:.2;--transparency-level-8:.24;--transparency-level-9:.4}.dark{--page:#191919;--card:#21201f;--input:#0000000d;--destructive:#43140b;--popover:#21201f;--layer:#29272580;--success:#225835;--info:#2f428b;--caution:#433600;--warning:#63361f;--button-subtle:#ffffffe6;--surface-muted:#4a4a4a;--surface-selected:#282828;--button-primary:#fff;--foreground:#7b7b7b;--foreground-inverse:#191919;--foreground-bold:#efede9;--foreground-card:#efede9;--foreground-destructive:#ff9179;--foreground-popover:#efede9;--foreground-selected:#b3a7ff;--foreground-success:#61d287;--foreground-info:#94b2ff;--foreground-caution:#f8d523;--foreground-warning:#ff9f6e;--foreground-icon:#eee;--border-boldest:#eee;--border-input:#282828;--border:#63615e;--border-muted:#3f3d3a;--border-success:#61d287;--border-info:#94b2ff;--border-caution:#f8d523;--border-warning:#ff9f6e;--code-layer:#21201f;--code-content:#1a1918;--code-string-key:#b4b4b4;--code-string-value:#61d287;--code-boolean:#ff9f6e;--code-delimiter:#7b7b7b;--code-number:#94b2ff;--code-object:#b3a7ff;--color-shadow:0,0%,100%;--color-shadow-destructive:5,85%,37%;--transparency-level-1:.04;--transparency-level-2:.06;--transparency-level-3:.08;--transparency-level-4:.1;--transparency-level-5:.12;--transparency-level-6:.16;--transparency-level-7:.2;--transparency-level-8:.24;--transparency-level-9:.4}.adu-dropdown-menu-content,.adu-dropdown-menu-content:after,.adu-dropdown-menu-content:before{border-width:1px;border-color:var(--border-input)}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"\u003cpercentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"\u003cpercentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"\u003clength>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ease{syntax:\"*\";inherits:false}"},{"filePath":"ui/css/ai.css","content":"@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.connection-card-filters button,.connection-card-search{background:var(--card);border-color:var(--foreground);transition:all .2s ease}.connection-card-filters button.active{text-decoration:underline dotted;color:rgb(var(--primary));border-color:rgb(var(--primary))}.connection-card-no-results{text-decoration:none!important;cursor:default!important}.download-button-container{display:inline-block;margin-bottom:1rem}.download-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.125rem .5rem 1rem;border-radius:.75rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;color:var(--foreground-inverse);background-color:var(--button-primary);box-shadow:0 0 0 1px oklch(from var(--button-primary) l c h/.12),0 1px 1px -1px oklch(from var(--button-primary) l c h/.06),0 2px 2px -2px oklch(from var(--button-primary) l c h/.06),0 2px 4px -2px oklch(from var(--button-primary) l c h/.06),0 4px 6px -4px oklch(from var(--button-primary) l c h/.06),0 6px 8px -6px oklch(from var(--button-primary) l c h/.06),0 -1px 2px 0 oklch(from var(--button-primary) l c h/.2) inset}.download-button:hover:not(:disabled){background-color:oklch(from var(--button-primary) l c h/.8);box-shadow:0 0 0 4px oklch(from var(--button-primary) l c h/.06),0 1px 1px -1px oklch(from var(--button-primary) l c h/.06),0 2px 2px -2px oklch(from var(--button-primary) l c h/.06),0 2px 4px -2px oklch(from var(--button-primary) l c h/.06),0 4px 6px -4px oklch(from var(--button-primary) l c h/.06),0 6px 8px -6px oklch(from var(--button-primary) l c h/.06),0 -1px 2px 0 oklch(from var(--button-primary) l c h/.2) inset}.download-button:disabled{opacity:.6;cursor:not-allowed}.download-button.downloading{pointer-events:none}.download-spinner{animation:spin 1s linear infinite}"},{"filePath":"ui/universal-components/universal-components-1.0.24.css","href":"/_mintlify/custom/auth0/00cc1c5532398fe9/ui/universal-components/universal-components-1.0.24.css"}],"page":{"pagePath":"docs/authenticate/database-connections/passkeys","slug":"/docs/authenticate/database-connections/passkeys","pageMetadata":{"title":"Passkey Authentication for Database Connections","sidebarTitle":"Passkeys","description":"Learn about Auth0's implementation of passkeys, a phishing-resistant WebAuthn device credential with advantages over traditional authentication methods.","validatedOn":"2026-08-13T00:00:00.000Z","href":"/docs/authenticate/database-connections/passkeys"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn about Auth0’s implementation of passkeys, a phishing-resistant WebAuthn device credential with advantages over traditional authentication methods.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const ReleaseStageNotice=({feature,stage,plans,contact,terms})=>{const _components={a:`a`,..._provideComponents()},{Warning}=_components;if(!Warning)_missingMdxReference(`Warning`,true);const stageTextMap={\"beta\":`Beta`,\"ea\":`Early Access`,\"dp\":`Developer Preview`};const stageText=stageTextMap[stage]||`a product release stage`;const prsLink=`/docs/troubleshoot/product-lifecycle/product-release-stages`;const linkify=(text,url)=>{return _jsx(_components.a,{href:url,target:`_blank`,rel:`noreferrer`,class:`link`,children:text})};const includeDetails=(plans,contact,terms)=>{const hasDetails=terms||plans||contact;if(!hasDetails)return null;return _jsxs(`span`,{\"data-as\":`p`,children:[plans\u0026\u0026_jsxs(_Fragment,{children:[`This feature is available for `,linkify(`${plans} plans`,`https://auth0.com/pricing`),`. `]}),contact\u0026\u0026`To participate, contact `+contact+`. `,terms\u0026\u0026_jsxs(_Fragment,{children:[`By using this feature, you agree to the applicable Free Trial terms in Okta's `,linkify(`Master Subscription Agreement`,`https://www.okta.com/legal`),`.`]})]})};return _jsxs(Warning,{children:[_jsx(`span`,{\"data-as\":`p`,children:_jsxs(`strong`,{children:[`The `,feature,` feature is in `,linkify(stageText,prsLink),`.`]})}),includeDetails(plans,contact,terms)]})};function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Callout,Columns,Frame,Heading,OptimizedImage,Step,Steps,Table,Tooltip,_MdxComponentBoundary}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Callout)_missingMdxReference(`Callout`,true);if(!Columns)_missingMdxReference(`Columns`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tooltip)_missingMdxReference(`Tooltip`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Passkeys are a secure, passwordless authentication method modeled on the `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/WebAuthn`,children:`FIDO2 (WebAuthn and CTAP) standards`}),`. They have several advantages over traditional identifier/password authentication:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Passkeys let users authenticate with biometrics or device-bound credentials`}),` (like a fingerprint, PIN, or pattern), so login is faster and doesn’t require remembering a password.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Passkeys synchronize credentials across devices`}),` so users don’t need to re-enroll on each new device.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Passkeys are resistant to phishing`}),` because they use public key cryptography, so there are no shared secrets, and the user’s device generates unique keys for every account.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Passkeys support more reliable recovery`}),` because the stored credentials can survive the loss of an originating device.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Passkeys bind credentials to a specific domain`}),` so users can authenticate across an entire domain with a single passkey.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`To learn more about passkeys, read `,_jsx(_components.a,{href:`https://fidoalliance.org/passkeys`,children:`the FIDO Alliance passkey overview`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`about-passkeys-on-auth0`,children:`About passkeys on Auth0`}),`\n`,_jsx(_components.p,{children:`Auth0 supports passkeys as an authentication method for database connections with three methods of implementation depending on the kind of application:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Universal Login passkeys for web-based applications`}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/authenticate/passwordless/implement-login/embedded-login/native`,children:`Embedded Login native applications`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/authenticate/database-connections/passkeys/passkey-apis`,children:`Native passkeys for Android and iOS applications`})}),`\n`]}),`\n`,_jsx(_components.p,{children:`Auth0 has a limit of 20 passkeys per user.`}),`\n`,_jsx(_components.p,{children:`When you enable passkeys for your database connection, passkeys become available for users during sign-up and login.`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Sign-up flow preview`,id:`sign-up-flow-preview`,children:_jsxs(Steps,{children:[_jsxs(Step,{title:`The sign-up UI prompts the user for their email address.`,children:[_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/cdy7uua7fh8z/5SlpzscSseNOuJlvhOgBqr/318d95254ef48197a32e58c92be00d2b/signup-passkey_default.png`,alt:``})}),_jsxs(_components.p,{children:[`The user enters their email address and selects `,_jsx(_components.strong,{children:`Continue`}),`.`]})]}),_jsxs(Step,{title:`The sign-up UI prompts the user to use passkeys.`,children:[_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/cdy7uua7fh8z/7vZK4q4iUtxyld1Os6og4s/c6df982f684824ef9f11a7ef9a477700/Passkeys_-_UL_-_English.png`,alt:``})}),_jsxs(_components.p,{children:[`The user selects `,_jsx(_components.strong,{children:`Create a passkey`}),`.`]})]}),_jsxs(Step,{title:`The user's credential manager prompts them to create a passkey.`,children:[_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/cdy7uua7fh8z/IsWmSXNHc2fvRuEgn5DpK/52b2464e21c8dc68bb06869126043ba9/Signup_-_Passkey_-_Browser_OS_Create_a_Passkey.png`,alt:``})}),_jsxs(Columns,{cols:2,children:[_jsxs(`div`,{children:[_jsxs(_components.p,{children:[`If the user selects `,_jsx(_components.strong,{children:`Continue`}),`, it prompts them to authenticate with their device’s credentials.`]}),_jsx(Frame,{caption:`Example device credential authentication prompt`,children:_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/cdy7uua7fh8z/6OJlPQrWBhgO8izXXoKbOw/a3c1af9a94aaeffc50793e3e9b88db8f/Signup_-_Passkeys_-_Chrome_Prompt_for_Device_Credentials.png`,alt:``})})]}),_jsxs(`div`,{children:[_jsxs(_components.p,{children:[`If the user selects `,_jsx(_components.strong,{children:`Try another way`}),`, it prompts them to scan a QR code with the device where they want to create the passkey.`]}),_jsx(Frame,{caption:`Example QR code`,children:_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/cdy7uua7fh8z/2yXrkVbYLxxp6MXnrZLqVN/5f67ddf9b8003729a11604a3af3e553d/passkey-browser-cross-device.png`,alt:``})})]})]})]})]})}),_jsx(Accordion,{title:`Login flow preview`,id:`login-flow-preview`,children:_jsxs(Steps,{children:[_jsxs(Step,{title:`The login UI prompts the user for their email address and/or a passkey.`,children:[_jsx(_components.p,{children:`Your database connection’s passkey policy lets you choose whether the login UI allows autofill, displays the passkey button, or both.`}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/cdy7uua7fh8z/3qqI3Uo1z1yQhvb7boQ0cx/820f38ffdec77388331ef238ff80de88/login-passkey_default.png`,alt:``})}),_jsx(_components.p,{children:`If the user enters their email, autofill suggests their stored passkeys alongside other credentials, like passwords.`}),_jsxs(_components.p,{children:[`If the user selects the `,_jsx(_components.strong,{children:`Continue with a passkey`}),` button, their credential manager prompts them to choose which passkey to use.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/cdy7uua7fh8z/tC4UZmYFgo7Zjt9kviP9j/690b87af58068c18a4609c8e9431e5b7/Login_-_Passkeys_-_Choose_a_passkey.png`,alt:``})})]}),_jsx(Step,{title:`The user's credential manager prompts them to authenticate with their device credentials.`,children:_jsx(Frame,{caption:`Example device credential authentication prompt`,children:_jsx(OptimizedImage,{src:`https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/cdy7uua7fh8z/6OJlPQrWBhgO8izXXoKbOw/a3c1af9a94aaeffc50793e3e9b88db8f/Signup_-_Passkeys_-_Chrome_Prompt_for_Device_Credentials.png`,alt:``})})})]})})]}),`\n`,_jsx(_components.p,{children:`Passkeys do not replace or invalidate a user’s existing credentials. When a user creates their passkey, it is added to their account as an authentication method, but any existing email/username and password credentials remain valid.`}),`\n`,_jsx(Heading,{level:`3`,id:`offer-passwords-and-passkeys-at-login`,children:`Offer passwords and passkeys at login`}),`\n`,_jsx(_components.p,{children:`Passkeys and passwords can coexist in the same login experience; you can allow end users choose either method. When you enable passkeys on a database connection, password sign-in remains available as long as your connection still allows password authentication.`}),`\n`,_jsx(_components.p,{children:`Your database connection’s passkey policy controls how passkeys appear at login:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Autofill (conditional UI): When the end user focuses the email or username field, their credential manager suggests stored passkeys alongside other saved credentials, such as passwords. Users who prefer a password can ignore the suggestion and type their credentials as usual.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Passkey button: The login screen shows a `,_jsx(_components.strong,{children:`Continue with a passkey`}),` button in addition to the standard identifier and password fields, so end users can pick passkeys or fall back to their password.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`You can enable autofill, the passkey button, or both. To keep password sign-in available, ensure the connection permits password authentication and configure these options in your connection’s passkey policy. To learn more, read `,_jsx(_components.a,{href:`/docs/authenticate/database-connections/passkeys/configure-passkey-policy`,children:`Configure Passkey Policy`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`passkeys-with-mfa-enabled`,children:`Passkeys with MFA enabled`}),`\n`,_jsxs(_components.p,{children:[`If `,_jsx(Tooltip,{tip:`Multi-factor authentication (MFA): User authentication process that uses a factor in addition to username and password such as a code via SMS.`,cta:`View Glossary`,href:`/docs/glossary?term=MFA`,children:`MFA`}),` is enabled, the user may be prompted to complete an MFA challenge after authenticating with a passkey based on settings and risk assessment.`]}),`\n`,_jsx(_components.p,{children:`The default behavior is to require the completion of an MFA challenge regardless if the authentication method used was a password or a passkey. Given the high level of security passkeys provide, you may skip MFA for users that have authenticated with a passkey in order to reduce friction. This can be achieved by using a post-login Action.`}),`\n`,_jsxs(_components.p,{children:[`To learn more, read `,_jsx(_components.a,{href:`/docs/customize/actions/explore-triggers/post-login#reduce-friction-with-passkeys`,children:`Reduce friction with passkeys`}),` and `,_jsx(_components.a,{href:`/docs/secure/multi-factor-authentication`,children:`Multi-Factor Authentication`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`passkeys-with-multiple-custom-domains-mcd`,children:`Passkeys with Multiple Custom Domains (MCD)`}),`\n`,_jsx(_MdxComponentBoundary,{name:`ReleaseStageNotice`,children:_jsx(ReleaseStageNotice,{feature:`Multiple Custom Domains`,stage:`ea`,plans:`Enterprise`,terms:`true`})}),`\n`,_jsx(_components.p,{children:`If you have Multiple Custom Domains enabled on your tenant, Auth0 maintains a one-to-one relationship between a domain and the passkey for that domain. Users with a passkey-enabled database can sign up and log in with a passkey, tied to the specific domain it was created on. Users can enroll a passkey for only one domain (the first one they enroll with, among the multiple custom domains on the tenant).`}),`\n`,_jsx(_components.p,{children:`For passwordless login, the selected custom domain should be reflected in the Magic Link for the passwordless login flow.`}),`\n`,_jsx(Heading,{level:`3`,id:`relying-party-id-for-passkeys`,children:`Relying party ID for Passkeys`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.a,{href:`https://www.w3.org/TR/webauthn-2/#relying-party-identifier`,children:`relying party identifier (RP ID)`}),` is a domain that WebAuthn binds to credentials like passkeys. The RP ID defines which request origins are allowed for authentication.`]}),`\n`,_jsx(Callout,{icon:`file-lines`,color:`#0EA5E9`,iconType:`regular`,children:_jsxs(_components.p,{children:[`Your application’s domain must be added to the `,_jsx(_components.strong,{children:`Allowed Origins (CORS)`}),` list in your `,_jsx(_components.a,{href:`https://manage.auth0.com/#/applications`,children:`application settings`}),` for the RP ID to work correctly.`]})}),`\n`,_jsxs(_components.p,{children:[`Defining the RP ID as a suffix of the origin lets users authenticate across subdomains using one passkey. For example, if your web application is served at `,_jsx(_components.code,{children:`login.example.com`}),` and your native application is served at `,_jsx(_components.code,{children:`app.example.com`}),`, you can configure the RP ID to `,_jsx(_components.code,{children:`example.com`}),` so end users can authenticate both applications (and any other `,_jsx(_components.code,{children:`example.com`}),` subdomain) with a single passkey.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Environment`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Root Domain`}),_jsx(_components.th,{style:{textAlign:`left`},children:`RP ID`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Web`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`https://login.example.com`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`example.com`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`iOS`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`app.example.com`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`example.com`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Android`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`assetlinks.json`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`example.com`})})]})]})]}),`\n`,_jsxs(_components.p,{children:[`With Auth0, you can customize the RP ID to the root or parent domain so users can authenticate on mobile applications or web applications using the same passkey. If you’re using Multiple Custom Domains, you can also set `,_jsx(_components.code,{children:`rp.id`}),` for each custom domain.`]}),`\n`,_jsxs(_components.p,{children:[`To learn how to customize the RP ID, read `,_jsx(_components.a,{href:`/docs/authenticate/database-connections/passkeys/configure-passkey-policy`,children:`Configure Passkey Policy`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`learn-more`,children:`Learn more`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/authenticate/database-connections/passkeys/configure-passkey-policy`,children:`Configure Passkey Authentication`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/authenticate/database-connections/passkeys/monitor-passkey-events-in-tenant-logs`,children:`Monitor Passkey Events in Tenant Logs`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{ReleaseStageNotice,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Passkey Authentication for Database Connections","sidebarTitle":"Passkeys","description":"Learn about Auth0's implementation of passkeys, a phishing-resistant WebAuthn device credential with advantages over traditional authentication methods.","validatedOn":"2026-08-13T00:00:00.000Z","href":"/docs/authenticate/database-connections/passkeys"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[154,1404,")=>null;function _cr"]]},"mdxExtracts":{"tableOfContents":[{"title":"About passkeys on Auth0","slug":"about-passkeys-on-auth0","depth":2,"children":[{"title":"Offer passwords and passkeys at login","slug":"offer-passwords-and-passkeys-at-login","depth":3,"children":[]},{"title":"Passkeys with MFA enabled","slug":"passkeys-with-mfa-enabled","depth":3,"children":[]},{"title":"Passkeys with Multiple Custom Domains (MCD)","slug":"passkeys-with-multiple-custom-domains-mcd","depth":3,"children":[]},{"title":"Relying party ID for Passkeys","slug":"relying-party-id-for-passkeys","depth":3,"children":[]}]},{"title":"Learn more","slug":"learn-more","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/auth0/68ac07e0f912aad4/docs/scripts/navbar-controller.js","/_mintlify/custom/auth0/98c52e2a822716a4/docs/scripts/overscroll-disable.js","/_mintlify/custom/auth0/354202415d9984b3/ui/auth0-docs-ui-1.10.0.umd.js","/_mintlify/custom/auth0/af65702d2f0210f7/ui/universal-components/universal-components-1.0.24.umd.js","/_mintlify/custom/auth0/edda60bac2809e28/ui/js/auth0-cli-language.js"],"subdomain":"auth0","siteName":"Auth0 Docs","title":"Passkey Authentication for Database Connections - Auth0 Docs","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"manual"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/docs/authenticate/database-connections/passkeys","matchLevel":0},"fr-ca":{"href":"/docs/fr-ca/authenticate/database-connections/passkeys","matchLevel":1},"ja-jp":{"href":"/docs/ja-jp/authenticate/database-connections/passkeys","matchLevel":1}}},"lastModified":"2026-10-23T16:38:56.381Z","originalFileLocation":"docs/authenticate/database-connections/passkeys.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn about Auth0\u0026#x27;s implementation of passkeys, a phishing-resistant WebAuthn device credential with advantages over traditional authentication methods.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Auth0 Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/svg+xml\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/logo/favicon.svg\">\u003clink data-mint-head rel=\"icon\" type=\"image/svg+xml\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/logo/favicon.svg\">\u003clink data-mint-head rel=\"icon\" type=\"image/svg+xml\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/logo/favicon.svg\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/svg+xml\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/logo/favicon.svg\">\u003cmeta data-mint-head property=\"og:title\" content=\"Passkey Authentication for Database Connections - Auth0 Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn about Auth0\u0026#x27;s implementation of passkeys, a phishing-resistant WebAuthn device credential with advantages over traditional authentication methods.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Auth0 Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://auth0.com/docs/authenticate/database-connections/passkeys\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://auth0.mintlify.app/docs/images/share-image.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Passkey Authentication for Database Connections - Auth0 Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn about Auth0\u0026#x27;s implementation of passkeys, a phishing-resistant WebAuthn device credential with advantages over traditional authentication methods.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://auth0.mintlify.app/docs/images/share-image.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/auth0/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Auth0 Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#9921FE\">\u003clink data-mint-head rel=\"canonical\" href=\"https://auth0.com/docs/authenticate/database-connections/passkeys\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/authenticate/database-connections/passkeys.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://auth0.com/docs/authenticate/database-connections/passkeys\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr-CA\" href=\"https://auth0.com/docs/fr-ca/authenticate/database-connections/passkeys\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja-JP\" href=\"https://auth0.com/docs/ja-jp/authenticate/database-connections/passkeys\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://auth0.com/docs/authenticate/database-connections/passkeys\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://auth0.com/#organization\",\"name\":\"Auth0 Docs\",\"url\":\"https://auth0.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/logo/light.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://auth0.com#website\",\"name\":\"Auth0 Docs\",\"url\":\"https://auth0.com\",\"publisher\":{\"@id\":\"https://auth0.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://auth0.com/docs/authenticate/database-connections/passkeys#webpage\",\"url\":\"https://auth0.com/docs/authenticate/database-connections/passkeys\",\"name\":\"Passkey Authentication for Database Connections\",\"description\":\"Learn about Auth0's implementation of passkeys, a phishing-resistant WebAuthn device credential with advantages over traditional authentication methods.\",\"dateModified\":\"2026-10-23T16:38:56.381Z\",\"isPartOf\":{\"@id\":\"https://auth0.com#website\"},\"breadcrumb\":{\"@id\":\"https://auth0.com/docs/authenticate/database-connections/passkeys#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://auth0.com/docs/authenticate/database-connections/passkeys#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Provision Users\",\"item\":\"https://auth0.com/docs/authenticate/identity-providers/social-identity-providers/github\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Database Connections\",\"item\":\"https://auth0.com/docs/authenticate/database-connections\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Passkey Authentication for Database Connections\",\"item\":\"https://auth0.com/docs/authenticate/database-connections/passkeys\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://auth0.com/docs/authenticate/database-connections/passkeys#article\",\"headline\":\"Passkey Authentication for Database Connections\",\"name\":\"Passkey Authentication for Database Connections\",\"description\":\"Learn about Auth0's implementation of passkeys, a phishing-resistant WebAuthn device credential with advantages over traditional authentication methods.\",\"url\":\"https://auth0.com/docs/authenticate/database-connections/passkeys\",\"mainEntityOfPage\":{\"@id\":\"https://auth0.com/docs/authenticate/database-connections/passkeys#webpage\"},\"image\":\"https://auth0.com/docs/images/share-image.png\",\"dateModified\":\"2026-10-23T16:38:56.381Z\",\"publisher\":{\"@id\":\"https://auth0.com/#organization\"},\"isPartOf\":{\"@id\":\"https://auth0.com#website\"}}]}\u003c/script>","siteName":"Auth0 Docs","nav":{"global":null,"languages":[{"language":"en","footer":{"socials":{"x-twitter":"https://x.com/auth0","github":"https://github.com/auth0","linkedin":"https://www.linkedin.com/company/auth0"},"links":[{"header":"Developers","items":[{"label":"Developer Hub","href":"https://developer.auth0.com"},{"label":"Code Samples \u0026 Guides","href":"https://developer.auth0.com/resources"},{"label":"Zero Index Newsletter","href":"https://auth0.com/blog/newsletter"},{"label":"Blog","href":"https://auth0.com/blog"},{"label":"Changelog","href":"https://auth0.com/changelog"}]},{"header":"Docs","items":[{"label":"Documentation","href":"https://auth0.com/docs"},{"label":"Quickstarts","href":"https://auth0.com/docs/quickstarts"},{"label":"APIs","href":"https://auth0.com/docs/api"},{"label":"SDK Libraries","href":"https://auth0.com/docs/libraries"},{"label":"Learn","href":"https://auth0.com/learn"},{"label":"Intro to IAM (CIAM)","href":"https://auth0.com/intro-to-iam"},{"label":"Reports","href":"https://auth0.com/resources/whitepapers"},{"label":"Webinars","href":"https://auth0.com/resources/webinars"}]},{"header":"Support Center","items":[{"label":"Community","href":"https://community.auth0.com"},{"label":"Help","href":"https://support.auth0.com"},{"label":"FAQs","href":"https://auth0.com/docs/troubleshoot"},{"label":"Auth0","href":"https://auth0.com"}]},{"header":"Company","items":[{"label":"Our Customers","href":"https://auth0.com/customers"},{"label":"Compliance","href":"https://auth0.com/security"},{"label":"Partners","href":"https://auth0.com/partners"},{"label":"Careers","href":"https://www.okta.com/company/careers"},{"label":"Okta + Auth0","href":"https://www.okta.com/okta-and-auth0"},{"label":"About us","href":"https://auth0.com/about"}]}]},"tabs":[{"tab":"Get Started","icon":"play","directory":"accordion","pages":[{"title":"Get Started","href":"/docs/get-started"}]},{"tab":"Authenticate","icon":"lock-keyhole","pages":[{"title":"Authenticate","href":"/docs/authenticate"},{"group":"Add Login","pages":[{"group":"Login","root":{"title":"Login Authentication on Auth0","sidebarTitle":"Login","href":"/docs/authenticate/login"},"pages":[{"group":"Auth0 Universal Login","root":{"title":"Auth0 Universal Login","href":"/docs/authenticate/login/auth0-universal-login"},"pages":[{"group":"Universal Login vs. Classic Login","root":{"title":"Universal Login vs. Classic Login","href":"/docs/authenticate/login/auth0-universal-login/universal-login-vs-classic-login"},"pages":[{"title":"Universal Login Experience","href":"/docs/authenticate/login/auth0-universal-login/universal-login-vs-classic-login/universal-experience"},{"title":"Classic Login Experience","href":"/docs/authenticate/login/auth0-universal-login/universal-login-vs-classic-login/classic-experience"}]},{"group":"Passwordless Login","root":{"title":"Configure Universal Login with Passwordless","href":"/docs/authenticate/login/auth0-universal-login/passwordless-login"},"pages":[{"title":"Configure WebAuthn with Device Biometrics for Passwordless Authentication","href":"/docs/authenticate/login/auth0-universal-login/passwordless-login/webauthn-device-biometrics"},{"title":"Configure Email or SMS for Passwordless Authentication","href":"/docs/authenticate/login/auth0-universal-login/passwordless-login/email-or-sms"}]},{"title":"Configure Default Login Routes","href":"/docs/authenticate/login/auth0-universal-login/configure-default-login-routes"},{"title":"Configure Identifier First Authentication","href":"/docs/authenticate/login/auth0-universal-login/identifier-first"},{"title":"Default Auth0 Error Page","href":"/docs/authenticate/login/auth0-universal-login/error-pages"}]},{"title":"Hosted Login vs. Embedded Login","href":"/docs/authenticate/login/universal-vs-embedded-login"},{"title":"Embedded Login","href":"/docs/authenticate/login/embedded-login"},{"title":"Native Login","href":"/docs/authenticate/login/native-login"},{"title":"Cross-Origin Authentication","href":"/docs/authenticate/login/cross-origin-authentication"},{"title":"Configure Silent Authentication","href":"/docs/authenticate/login/configure-silent-authentication"},{"title":"Redirect Users","href":"/docs/authenticate/login/redirect-users-after-login"},{"title":"Force Reauthentication in OIDC","href":"/docs/authenticate/login/max-age-reauthentication"},{"group":"Logout","root":{"title":"How Logout Works on Auth0","sidebarTitle":"Logout","href":"/docs/authenticate/login/logout"},"pages":[{"title":"Universal Logout","href":"/docs/authenticate/login/logout/universal-logout"},{"title":"Log Users Out of Applications","href":"/docs/authenticate/login/logout/log-users-out-of-applications"},{"title":"Log Users Out of Auth0 with OIDC Endpoint","href":"/docs/authenticate/login/logout/log-users-out-of-auth0"},{"title":"Log Users Out of Identity Providers","href":"/docs/authenticate/login/logout/log-users-out-of-idps"},{"title":"Log Users Out of SAML Identity Providers","href":"/docs/authenticate/login/logout/log-users-out-of-saml-idps"},{"title":"Redirect Users with Alternative Logout","href":"/docs/authenticate/login/logout/redirect-users-after-logout"},{"group":"OIDC Back-Channel Logout","root":{"title":"OIDC Back-Channel Logout","href":"/docs/authenticate/login/logout/back-channel-logout"},"pages":[{"title":"Configure OIDC Back-Channel Logout","href":"/docs/authenticate/login/logout/back-channel-logout/configure-back-channel-logout"},{"title":"OIDC Back-Channel Logout Initiators","href":"/docs/authenticate/login/logout/back-channel-logout/oidc-back-channel-logout-initiators"}]}]},{"group":"OIDC-Conformant Authentication","root":{"title":"Adopt OIDC-Conformant Authentication","href":"/docs/authenticate/login/oidc-conformant-authentication"},"pages":[{"title":"Access Tokens with OIDC","href":"/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-access-tokens"},{"title":"External APIs with OIDC","href":"/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-apis"},{"title":"Authorization Code Flow with OIDC","href":"/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-auth-code-flow"},{"title":"Client Credentials Flow with OIDC","href":"/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-client-credentials-flow"},{"title":"Delegation with OIDC","href":"/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-delegation"},{"title":"Implicit Flow with OIDC","href":"/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-implicit-flow"},{"title":"Refresh Tokens with OIDC","href":"/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-refresh-tokens"},{"title":"Resource Owner Password Flow with OIDC","href":"/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-rop-flow"},{"title":"Single Sign-On with OIDC","href":"/docs/authenticate/login/oidc-conformant-authentication/oidc-adoption-sso"}]}]},{"group":"Single Sign-On","root":{"title":"Single Sign-On","href":"/docs/authenticate/single-sign-on"},"pages":[{"title":"Service-Provider-Initiated Single Sign-On","href":"/docs/authenticate/single-sign-on/inbound-single-sign-on"},{"group":"Identity-Provider-Initiated Single Sign-On","root":{"title":"Identity-Provider-Initiated Single Sign-On","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on"},"pages":[{"group":"Configure Auth0 as SAML Identity Provider","root":{"title":"Configure Auth0 as a SAML Identity Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider"},"pages":[{"title":"Configure Amazon Web Services as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-saml2-web-app-addon-for-aws"},{"title":"Configure Atlassian as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-auth0-as-identity-provider-for-atlassian"},{"title":"Configure Cisco WebEx as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-auth0-as-identity-provider-for-cisco-webex"},{"title":"Configure Datadog as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-auth0-as-identity-provider-for-datadog"},{"title":"Configure Egencia as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-auth0-as-identity-provider-for-egencia"},{"title":"Configure Freshdesk as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-auth0-as-identity-provider-for-freshdesk"},{"title":"Configure GitHub Enterprise Cloud as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-saml2-web-app-addon-for-github-enterprise-cloud"},{"title":"Configure GitHub Enterprise Server as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-saml2-web-app-addon-for-github-enterprise-server"},{"title":"Configure Google Workspace as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-auth0-as-idp-for-google-g-suite"},{"title":"Configure Heroku as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-saml2-web-app-addon-for-heroku"},{"title":"Configure Hosted Graphite as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-auth0-as-identity-provider-for-hosted-graphite"},{"title":"Configure Litmos as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-auth0-as-identity-provider-for-litmos"},{"title":"Configure Oracle Eloqua Marketing Cloud as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-saml2-addon-eloqua"},{"title":"Configure Pluralsight as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-auth0-as-identity-provider-for-pluralsight"},{"title":"Configure Sprout Video as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-auth0-as-identity-provider-for-sprout-video"},{"title":"Configure Tableau Online as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-auth0-as-identity-provider-for-tableau-online"},{"title":"Configure Tableau Server as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-auth0-as-identity-provider-for-tableau-server"},{"title":"Configure Workday as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-auth0-as-identity-provider-for-workday"},{"title":"Configure Workpath as SAML Service Provider","href":"/docs/authenticate/single-sign-on/outbound-single-sign-on/configure-auth0-saml-identity-provider/configure-auth0-as-identity-provider-for-workpath"}]}]},{"group":"Native to Web SSO","root":{"title":"Native to Web SSO","href":"/docs/authenticate/single-sign-on/native-to-web"},"pages":[{"title":"Configure and Implement Native to Web SSO","href":"/docs/authenticate/single-sign-on/native-to-web/configure-implement-native-to-web"},{"title":"Use Case: Configure mobile-to-web payment flows using Native to Web SSO","href":"/docs/authenticate/single-sign-on/native-to-web/configure-mobile-to-web-payment-flows"},{"title":"Native to Web SSO and Sessions","href":"/docs/authenticate/single-sign-on/native-to-web/native-to-web-sso-and-sessions"},{"title":"Native to Web SSO Best Practices","href":"/docs/authenticate/single-sign-on/native-to-web/native-to-web-sso-best-practices"}]},{"group":"Session Delegation","root":{"title":"Session Delegation","href":"/docs/authenticate/single-sign-on/session-delegation"},"pages":[{"title":"Configure Session Delegation","href":"/docs/authenticate/single-sign-on/session-delegation/configure-session-delegation"},{"title":"Implement Session Delegation","href":"/docs/authenticate/single-sign-on/session-delegation/implement-session-delegation"},{"title":"Delegated Session Behavior and Monitoring","href":"/docs/authenticate/single-sign-on/session-delegation/session-delegation-behavior-and-monitoring"}]},{"title":"API Endpoints for Single Sign-On","href":"/docs/authenticate/single-sign-on/api-endpoints-for-single-sign-on"},{"title":"Okta Access Gateway","href":"/docs/authenticate/single-sign-on/okta-access-gateway"}]},{"group":"Passwordless","root":{"title":"Passwordless Authentication on Auth0","sidebarTitle":"Passwordless","href":"/docs/authenticate/passwordless"},"pages":[{"group":"Authentication Methods","root":{"title":"Passwordless Authentication Methods on Auth0","sidebarTitle":"Authentication Methods","href":"/docs/authenticate/passwordless/authentication-methods"},"pages":[{"title":"Passwordless Authentication with Email","href":"/docs/authenticate/passwordless/authentication-methods/email-otp"},{"title":"Passwordless Authentication with Magic Links","href":"/docs/authenticate/passwordless/authentication-methods/email-magic-link"},{"title":"Passwordless Authentication with SMS","href":"/docs/authenticate/passwordless/authentication-methods/sms-otp"},{"title":"Set Up Custom SMS Gateway for Passwordless Connections","href":"/docs/authenticate/passwordless/authentication-methods/use-sms-gateway-passwordless"}]},{"group":"Implement Login","root":{"title":"Implement Login with Passwordless","sidebarTitle":"Implement Login","href":"/docs/authenticate/passwordless/implement-login"},"pages":[{"title":"Passwordless Authentication with Universal Login","href":"/docs/authenticate/passwordless/implement-login/universal-login"},{"group":"Embedded Login","root":{"title":"Passwordless Authentication with Embedded Login","href":"/docs/authenticate/passwordless/implement-login/embedded-login"},"pages":[{"title":"Using Passwordless APIs","href":"/docs/authenticate/passwordless/implement-login/embedded-login/relevant-api-endpoints"},{"title":"Embedded Passwordless Authentication for SPAs","href":"/docs/authenticate/passwordless/implement-login/embedded-login/spa"},{"title":"Embedded Passwordless Login in Native Applications","href":"/docs/authenticate/passwordless/implement-login/embedded-login/native"},{"title":"Embedded Passwordless Login in Regular Web Applications","href":"/docs/authenticate/passwordless/implement-login/embedded-login/webapps"}]}]},{"title":"Passwordless with Universal Login","href":"/docs/authenticate/passwordless/passwordless-with-universal-login"},{"title":"Passwordless Connection Limitations","href":"/docs/authenticate/passwordless/passwordless-connection-limitations"},{"title":"Passwordless Connections Best Practices","href":"/docs/authenticate/passwordless/best-practices"},{"title":"Sample Use Cases: Actions with Passwordless Authentication","href":"/docs/authenticate/passwordless/sample-use-cases-actions"}]},{"group":"Custom Token Exchange","root":{"title":"Custom Token Exchange","href":"/docs/authenticate/custom-token-exchange"},"pages":[{"title":"Example Use Cases","href":"/docs/authenticate/custom-token-exchange/cte-example-use-cases"},{"title":"Configure Custom Token Exchange","href":"/docs/authenticate/custom-token-exchange/configure-custom-token-exchange"},{"title":"Multi-Factor Authentication (MFA) with Custom Token Exchange","href":"/docs/authenticate/custom-token-exchange/cte-multi-factor-authentication"},{"title":"Attack Protection with Custom Token Exchange","href":"/docs/authenticate/custom-token-exchange/cte-attack-protection"}]}]},{"group":"Provision Users","pages":[{"group":"Identity Providers","root":{"title":"Identity Providers","href":"/docs/authenticate/identity-providers"},"pages":[{"group":"Social Identity Providers","root":{"title":"Social Identity Providers","href":"/docs/authenticate/identity-providers/social-identity-providers"},"pages":[{"group":"For Web Applications","pages":[{"title":"Add GitHub Login to Your App","sidebarTitle":"Add GitHub Login to Your App","href":"/docs/authenticate/identity-providers/social-identity-providers/github"},{"title":"Add Google Login to Your App","sidebarTitle":"Add Google Login to Your App","href":"/docs/authenticate/identity-providers/social-identity-providers/google"},{"title":"Use Google One Tap with Universal Login","href":"/docs/authenticate/identity-providers/social-identity-providers/google-one-tap"}]},{"group":"For Native Applications","pages":[{"title":"Add Sign In with Apple to Native iOS Apps","href":"/docs/authenticate/identity-providers/social-identity-providers/apple-native"},{"title":"Add Facebook Login to Native Apps","href":"/docs/authenticate/identity-providers/social-identity-providers/facebook-native"},{"title":"Add Sign In with Google to Native Android Apps","href":"/docs/authenticate/identity-providers/social-identity-providers/google-native"},{"title":"Create a Custom Social Connection with TikTok","href":"/docs/authenticate/identity-providers/social-identity-providers/tiktok"}]},{"title":"Connect Apps to Generic OAuth2 Authorization Servers","href":"/docs/authenticate/identity-providers/social-identity-providers/oauth2"},{"title":"Handle Declined Authorization Permissions","href":"/docs/authenticate/identity-providers/social-identity-providers/reprompt-permissions"},{"title":"Test Social Connections with Auth0 Developer Keys","href":"/docs/authenticate/identity-providers/social-identity-providers/devkeys"}]},{"group":"Enterprise Identity Providers","pages":[{"group":"Use Auth0 with Google","pages":[{"title":"How to Connect Auth0 Apps to Google Workspace using Enterprise Connections","sidebarTitle":"Connect Auth0 Apps to Google Workspace","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/google-apps"},{"title":"How to Sync Google Workspace Users and Groups to Auth0 with Directory Sync","sidebarTitle":"Use Directory Sync","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/google-directory-sync"}]},{"group":"Use Auth0 with Okta","pages":[{"title":"Connect Your Auth0 Application with Okta Workforce Enterprise Connection","sidebarTitle":"Connect Auth0 Apps to Okta","href":"/docs/authenticate/identity-providers/okta"},{"title":"Express Configuration with Okta","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/okta/express-configuration"}]},{"group":"Connect Your App to Active Directory using LDAP","root":{"sidebarTitle":"Overview","title":"Connect Your App to Active Directory using LDAP","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap"},"pages":[{"group":"AD/LDAP Connector","root":{"sidebarTitle":"Overview","title":"AD/LDAP Connector","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap/ad-ldap-connector"},"pages":[{"title":"AD/LDAP Connector System Requirements","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap/ad-ldap-connector/ad-ldap-connector-requirements"},{"title":"Install and Configure AD/LDAP Connector","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap/ad-ldap-connector/install-configure-ad-ldap-connector"},{"title":"Configure AD/LDAP Connector Authentication with Client Certificates","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap/ad-ldap-connector/configure-ad-ldap-connector-client-certificates"},{"title":"Configure AD/LDAP Connector Authentication with Kerberos","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap/ad-ldap-connector/configure-ad-ldap-connector-with-kerberos"},{"title":"AD/LDAP Connector Configuration File Schema","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap/ad-ldap-connector/ad-ldap-connector-config-file-schema"},{"title":"Import and Export AD/LDAP Connector Configurations","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap/ad-ldap-connector/import-export-ad-ldap-connector-configs"},{"title":"Map AD/LDAP Profile Attributes to Auth0 User Profile","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap/ad-ldap-connector/map-ad-ldap-profile-attributes-to-auth0"},{"title":"Point AD/LDAP Connector to Auth0 Connections","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap/ad-ldap-connector/ad-ldap-connector-to-auth0"},{"title":"Update AD/LDAP Connectors","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap/ad-ldap-connector/update-ad-ldap-connectors"},{"title":"Disable AD/LDAP Connection Credential Caching","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap/ad-ldap-connector/disable-credential-caching"},{"title":"Deploy AD/LDAP Connectors for High Availability Environments","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap/ad-ldap-connector/ad-ldap-high-availability"},{"title":"Set Up AD/LDAP Connector Test Environment","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap/ad-ldap-connector/ad-ldap-connector-test-environment"},{"title":"Monitor AD/LDAP Connector with System Center Operations Manager","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/active-directory-ldap/ad-ldap-connector/ad-ldap-connector-scom"}]}]},{"title":"Connect Your App to ADFS","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/adfs"},{"title":"Connect Your Native App to Microsoft Azure Active Directory Using Resource","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/azure-active-directory-native"},{"title":"Connect to OpenID Connect Identity Provider","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/oidc"},{"title":"Configure PKCE and Claim Mapping for OIDC Connections","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/configure-pkce-claim-mapping-for-oidc"},{"title":"Connect Your PingFederate Server to Auth0","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/ping-federate"},{"title":"Connect Your App to SAML Identity Providers","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/saml"},{"title":"Connect Your App to Microsoft Azure Active Directory","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/azure-active-directory/v2"},{"title":"Choose a Connection Type for Azure AD","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/choose-a-connection-type-for-azure-ad"},{"title":"Email Verification for Azure AD and ADFS","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/azuread-adfs-email-verification"},{"title":"Enable Enterprise Connections","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/enable-enterprise-connections"},{"title":"Test Enterprise Connections","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/test-enterprise-connections"}]},{"title":"Legal Identity Providers","href":"/docs/authenticate/identity-providers/legal"},{"title":"View Connections","href":"/docs/authenticate/identity-providers/view-connections"},{"title":"Test Connections","href":"/docs/authenticate/identity-providers/test-connections"},{"title":"Locate the Connection ID or Name","href":"/docs/authenticate/identity-providers/locate-the-connection-id"},{"title":"Retrieve Connection Options","href":"/docs/authenticate/identity-providers/retrieve-connection-options"},{"title":"Pass Parameters to Identity Providers","href":"/docs/authenticate/identity-providers/pass-parameters-to-idps"},{"title":"Promote Connections to Domain Level","href":"/docs/authenticate/identity-providers/promote-connections-to-domain-level"},{"title":"Call an Identity Provider API","href":"/docs/authenticate/identity-providers/calling-an-external-idp-api"},{"title":"Add Scopes/Permissions to Call Identity Provider APIs","href":"/docs/authenticate/identity-providers/adding-scopes-for-an-external-idp"}]},{"group":"Database Connections","root":{"title":"Auth0 Database Connections","sidebarTitle":"Database Connections","href":"/docs/authenticate/database-connections"},"pages":[{"group":"Custom Database Connections","root":{"title":"Custom Database Connections","href":"/docs/authenticate/database-connections/custom-db"},"directory":"accordion","pages":[{"title":"How to Create Custom Database Connections","sidebarTitle":"Create Custom Database Connections","href":"/docs/authenticate/database-connections/custom-db/create-db-connection"},{"group":"Custom Database Action Scripts","root":{"title":"Database Action Scripts","href":"/docs/authenticate/database-connections/custom-db/custom-database-connections-scripts"},"expanded":true,"pages":[{"title":"Change Password Database Action Script and Templates","sidebarTitle":"Change Password","href":"/docs/authenticate/database-connections/custom-db/templates/change-password"},{"title":"Create User Database Action Script and Templates","sidebarTitle":"Create User","href":"/docs/authenticate/database-connections/custom-db/templates/create"},{"title":"Delete User Database Action Script and Templates","sidebarTitle":"Delete User","href":"/docs/authenticate/database-connections/custom-db/templates/delete"},{"title":"Get User Database Action Script and Templates","sidebarTitle":"Get User","href":"/docs/authenticate/database-connections/custom-db/templates/get-user"},{"title":"Login Database Action Script and Templates","sidebarTitle":"Login","href":"/docs/authenticate/database-connections/custom-db/templates/login"},{"title":"Verify Database Action Script and Templates","sidebarTitle":"Verify","href":"/docs/authenticate/database-connections/custom-db/templates/verify"},{"title":"Change Email Database Action Script and Template","sidebarTitle":"Change Email","href":"/docs/authenticate/database-connections/custom-db/templates/change-email"},{"title":"Best Practices for Database Action Scripts","sidebarTitle":"Best Practices","href":"/docs/authenticate/database-connections/custom-db/action-script-best-practices"}]},{"group":"Troubleshooting","pages":[{"title":"How to Test Custom Database Connections","sidebarTitle":"Test Custom Database Connections","href":"/docs/authenticate/database-connections/custom-db/test-custom-database-connections"},{"title":"Error Handling for Custom Database Connections","sidebarTitle":"Error Handling","description":"Learn more about error handling when using custom database connections.","href":"/docs/authenticate/database-connections/custom-db/error-handling"}]}]},{"group":"Passkeys","root":{"title":"Passkey Authentication for Database Connections","sidebarTitle":"Passkeys","href":"/docs/authenticate/database-connections/passkeys"},"pages":[{"title":"Enable and Configure Passkey Authentication for Database Connections","sidebarTitle":"Configure Passkeys","description":"Use the Auth0 Dashboard to enable passkeys as an authentication method on a database connection and configure the passkey authentication UI, progressive enrollment, and local enrollment.","href":"/docs/authenticate/database-connections/passkeys/configure-passkey-policy"},{"description":"Track passkey enrollment and authentication events in Auth0 tenant logs by filtering on passkey-specific event codes in Auth0 Dashboard or Management API.","title":"Monitor Passkey Events in Tenant Logs","href":"/docs/authenticate/database-connections/passkeys/monitor-passkey-events-in-tenant-logs"},{"title":"Passkey APIs for Embedded Applications","description":"Use Auth0 Passkey APIs to build embedded passkey signup, login, and enrollment flows for iOS, Android, and Web Applications.","href":"/docs/authenticate/database-connections/passkeys/passkey-apis"}]},{"title":"Configure Password Policies in Auth0 Database Connections","sidebarTitle":"Configure Password Policies","href":"/docs/authenticate/database-connections/password-options"},{"title":"Configure the Flexible Password Policy for Auth0 Database Connections","sidebarTitle":"Configure the Flexible Password Policy","href":"/docs/authenticate/database-connections/flexible-password-policy"},{"title":"Change Users' Passwords","href":"/docs/authenticate/database-connections/password-change"},{"title":"Adding Username for Database Connections","href":"/docs/authenticate/database-connections/require-username"},{"title":"Activate and Configure Attributes for Flexible Identifiers","href":"/docs/authenticate/database-connections/activate-and-configure-attributes-for-flexible-identifiers"},{"title":"Flexible Identifiers and Attributes Limits","href":"/docs/authenticate/database-connections/flexible-identifiers-and-attributes"},{"title":"Passwordless Authentication on Database Connections","sidebarTitle":"Passwordless Authentication","href":"/docs/authenticate/database-connections/passwordless-authentication-for-db-connect"},{"title":"Passwordless Authentication on Database Connections with Authentication API","href":"/docs/authenticate/database-connections/auth-api-passwordless-db-connections"},{"title":"Implicit Signup and Login for Passwordless Database Connections","href":"/docs/authenticate/database-connections/implicit-signup-database-connections"},{"title":"Non-Unique Emails","href":"/docs/authenticate/database-connections/non-unique-emails"},{"title":"How to Set Custom User IDs with Actions for New Users in Database Connections","sidebarTitle":"Set Custom User IDs","href":"/docs/authenticate/database-connections/custom-user-id"}]},{"group":"Enterprise Connections","root":{"title":"Auth0 Enterprise Connections","sidebarTitle":"Enterprise Connections","href":"/docs/authenticate/enterprise-connections"},"pages":[{"group":"Self-Service Enterprise Configuration","root":{"title":"Self-Service Enterprise Configuration","href":"/docs/authenticate/enterprise-connections/self-service-enterprise-configuration"},"pages":[{"title":"Manage Self-Service Enterprise Configuration","href":"/docs/authenticate/enterprise-connections/self-service-enterprise-configuration/manage-self-service-enterprise-config"},{"title":"Connection Profile","href":"/docs/authenticate/enterprise-connections/connection-profile"},{"sidebarTitle":"User Attribute Profile","title":"User Attribute Profile","href":"/docs/authenticate/enterprise-connections/user-attribute-profile"}]},{"title":"Private Key JWT Client Authentication for Okta and OIDC Connections","href":"/docs/authenticate/enterprise-connections/private-key-jwt-client-auth"},{"title":"Configure Enterprise Connections with Demonstrating Proof-of-Possession (DPoP)","href":"/docs/authenticate/enterprise-connections/enable-dpop-enterprise-connections"},{"title":"Configure Session Expiry for Enterprise Connections (IPSIE)","href":"/docs/authenticate/enterprise-connections/session-expiry-enterprise-connections"}]},{"group":"Protocols","root":{"title":"Authentication and Authorization Protocols at Auth0","sidebarTitle":"Protocols","href":"/docs/authenticate/protocols"},"pages":[{"group":"SAML","root":{"title":"SAML Support on Auth0","sidebarTitle":"SAML","href":"/docs/authenticate/protocols/saml"},"pages":[{"title":"Connect Your PingFederate Server to Auth0","href":"/docs/authenticate/identity-providers/enterprise-identity-providers/ping-federate"},{"title":"SAML Identity Provider Configuration Settings","href":"/docs/authenticate/protocols/saml/saml-identity-provider-configuration-settings"},{"group":"SAML Configuration","root":{"title":"SAML Configuration","href":"/docs/authenticate/protocols/saml/saml-configuration"},"pages":[{"title":"Customize SAML Assertions","href":"/docs/authenticate/protocols/saml/saml-configuration/customize-saml-assertions"},{"title":"Deprovision Users in SAML Integrations","href":"/docs/authenticate/protocols/saml/saml-configuration/deprovision-users-in-saml-integrations"},{"title":"Test SAML SSO with Auth0 as Service Provider and Identity Provider","href":"/docs/authenticate/protocols/saml/saml-configuration/configure-auth0-as-service-and-identity-provider"},{"title":"Map SAML Attributes with Auth0 as IdP/SAML Add-on","href":"/docs/authenticate/protocols/saml/saml-configuration/saml-attribute-mapping-examples"}]},{"group":"SAML Single Sign-On Integrations","root":{"title":"SAML Single Sign-On Integrations","href":"/docs/authenticate/protocols/saml/saml-sso-integrations"},"pages":[{"title":"Configure SAML Identity Provider-Initiated Single Sign-On","href":"/docs/authenticate/protocols/saml/saml-sso-integrations/identity-provider-initiated-single-sign-on"},{"title":"Configure IdP-Initiated SAML Sign-on to OIDC Apps","href":"/docs/authenticate/protocols/saml/saml-sso-integrations/configure-idp-initiated-saml-sign-on-to-oidc-apps"},{"group":"Configure Auth0 as SAML Service Provider","root":{"title":"Configure Auth0 as a SAML Service Provider","href":"/docs/authenticate/protocols/saml/saml-sso-integrations/configure-auth0-saml-service-provider"},"pages":[{"title":"Configure ADFS as SAML Identity Provider","href":"/docs/authenticate/protocols/saml/saml-sso-integrations/configure-auth0-saml-service-provider/configure-adfs-saml-connections"},{"title":"Configure Okta as SAML Identity Provider","href":"/docs/authenticate/protocols/saml/saml-sso-integrations/configure-auth0-saml-service-provider/configure-okta-as-saml-identity-provider"},{"title":"Configure OneLogin as SAML Identity Provider","href":"/docs/authenticate/protocols/saml/saml-sso-integrations/configure-auth0-saml-service-provider/configure-onelogin-as-saml-identity-provider"},{"title":"Configure PingFederate as SAML Identity Provider","href":"/docs/authenticate/protocols/saml/saml-sso-integrations/configure-auth0-saml-service-provider/configure-pingfederate-as-saml-identity-provider"},{"title":"Configure Salesforce as SAML Identity Provider","href":"/docs/authenticate/protocols/saml/saml-sso-integrations/configure-auth0-saml-service-provider/configure-salesforce-as-saml-identity-provider"},{"title":"Configure SiteMinder as SAML Identity Provider","href":"/docs/authenticate/protocols/saml/saml-sso-integrations/configure-auth0-saml-service-provider/configure-siteminder-as-saml-identity-provider"},{"title":"Configure SSOCircle as SAML Identity Provider","href":"/docs/authenticate/protocols/saml/saml-sso-integrations/configure-auth0-saml-service-provider/configure-ssocircle-as-saml-identity-provider"}]},{"title":"Enable SAML2 Web App Addon","href":"/docs/authenticate/protocols/saml/saml-sso-integrations/enable-saml2-web-app-addon"},{"title":"Sign and Encrypt SAML Requests","href":"/docs/authenticate/protocols/saml/saml-sso-integrations/sign-and-encrypt-saml-requests"},{"title":"Work with Certificates and Keys as Strings","href":"/docs/authenticate/protocols/saml/saml-sso-integrations/work-with-certificates-and-keys-as-strings"}]}]},{"title":"OpenID Connect Protocol","href":"/docs/authenticate/protocols/openid-connect-protocol"},{"title":"OAuth 2.0 Authorization Framework","href":"/docs/authenticate/protocols/oauth"},{"title":"Web Services Federation Protocol","href":"/docs/authenticate/protocols/ws-fed-protocol"},{"title":"Lightweight Directory Access Protocol","href":"/docs/authenticate/protocols/ldap-protocol"},{"group":"System for Cross-domain Identity Management (SCIM)","root":{"title":"System for Cross-domain Identity Management (SCIM)","href":"/docs/authenticate/protocols/scim"},"pages":[{"title":"Configure Inbound SCIM","href":"/docs/authenticate/protocols/scim/configure-inbound-scim"},{"title":"Inbound SCIM for Microsoft Entra ID SAML Connections","href":"/docs/authenticate/protocols/scim/inbound-scim-for-azure-ad-saml-connections"},{"title":"Inbound SCIM for Older Azure AD Connections","href":"/docs/authenticate/protocols/scim/inbound-scim-for-older-azure-ad-connections"},{"title":"Inbound SCIM for Azure AD Connections","href":"/docs/authenticate/protocols/scim/inbound-scim-for-new-azure-ad-connections"},{"title":"Inbound SCIM for Okta Workforce Connections","href":"/docs/authenticate/protocols/scim/inbound-scim-for-okta-workforce-connections"},{"title":"Configure Inbound SCIM for Identity Providers using SAML or OpenID","href":"/docs/authenticate/protocols/scim/configure-inbound-scim-for-identity-providers-using-saml-or-openid"},{"title":"Inbound SCIM for Okta Workforce SAML Connections","href":"/docs/authenticate/protocols/scim/inbound-scim-for-okta-workforce-saml-connections"},{"title":"Manage an Inbound SCIM Deployment with the Management API","href":"/docs/authenticate/protocols/scim/manage-an-inbound-scim-deployment-with-the-management-api"}]}]},{"title":"Connection Settings Best Practices","href":"/docs/authenticate/connection-settings-best-practices"}]}]},{"tab":"Manage Users","icon":"user-group","directory":"accordion","pages":[{"title":"Manage Users","href":"/docs/manage-users"}]},{"tab":"Brand","icon":"swatchbook","directory":"accordion","pages":[{"title":"Brand","href":"/docs/customize"}]},{"tab":"Extend","icon":"arrow-up-small-big","directory":"accordion","pages":[{"title":"Extend","href":"/docs/extend"}]},{"tab":"Secure","icon":"shield-check","pages":[{"title":"Secure","href":"/docs/secure"}]},{"tab":"Monitor","icon":"chart-simple","directory":"accordion","pages":[{"title":"Monitor","href":"/docs/deploy-monitor"}]},{"tab":"AI Agents \u0026 MCP","icon":"robot","directory":"accordion","pages":[{"title":"AI Agents \u0026 MCP","href":"/docs/ai-agents-mcp"}]},{"tab":"Platform","icon":"credit-card","pages":[{"title":"Platform","href":"/docs/troubleshoot"}]},{"tab":"Dev Tools","icon":"code-simple","menu":[{"item":"APIs","icon":"code-pull-request","pages":[{"title":"APIs","href":"/docs/api"}]},{"item":"CLIs","icon":"terminal","pages":[{"title":"CLIs","href":"/docs/deploy-monitor/auth0-cli"}]},{"item":"SDKs","icon":"cube","dropdowns":[{"dropdown":"SDK Libraries","icon":"book","description":"","pages":[{"title":"SDK Libraries","href":"/docs/libraries"}]},{"dropdown":"auth0-spa-js","icon":"book-open","description":"version: v2.29.0","pages":[{"title":"auth0-spa-js","href":"/docs/sdk/auth0-spa-js/functions/createAuth0Client"}]},{"dropdown":"auth0-react","icon":"book-open","description":"version: v2.29.0","pages":[{"title":"auth0-react","href":"/docs/sdk/auth0-react/functions/Auth0Provider"}]},{"dropdown":"auth0-acul-js","icon":"book-open","description":"","pages":[{"title":"auth0-acul-js","href":"/docs/libraries/acul/js-sdk"}]},{"dropdown":"auth0-acul-react","icon":"book-open","description":"","pages":[{"title":"auth0-acul-react","href":"/docs/libraries/acul/react-sdk"}]},{"dropdown":"auth0-android","icon":"book-open","description":"","pages":[{"title":"auth0-android","href":"/docs/libraries/auth0-android/auth0-android-configuration"}]},{"dropdown":"auth0-php","icon":"book-open","description":"","pages":[{"title":"auth0-php","href":"/docs/libraries/auth0-php"}]}]},{"item":"Universal Components","icon":"objects-column","pages":[{"title":"Universal Components","href":"/docs/get-started/universal-components/universal-components-overview"}]}],"pages":[{"title":"Dev Tools","href":"/docs/api"}]},{"tab":"auth0-spa-js","hidden":true,"pages":[{"title":"auth0-spa-js","href":"/docs/sdk/auth0-spa-js/functions/createAuth0Client"}]},{"tab":"auth0-react","hidden":true,"pages":[{"title":"auth0-react","href":"/docs/sdk/auth0-react/functions/Auth0Provider"}]}]},{"language":"fr-ca","footer":{"socials":{"x-twitter":"https://x.com/auth0","github":"https://github.com/auth0","linkedin":"https://www.linkedin.com/company/auth0"},"links":[{"header":"Développeurs","items":[{"label":"Espace développeurs","href":"https://developer.auth0.com"},{"label":"Exemples de code et guides","href":"https://developer.auth0.com/resources"},{"label":"Infolettre Zero Index","href":"https://auth0.com/blog/newsletter"},{"label":"Blogue","href":"https://auth0.com/blog"},{"label":"Journal des modifications","href":"https://auth0.com/changelog"}]},{"header":"Documentation","items":[{"label":"Documentation","href":"https://auth0.com/docs"},{"label":"Guides de démarrage rapide","href":"https://auth0.com/docs/quickstarts"},{"label":"API","href":"https://auth0.com/docs/api"},{"label":"Bibliothèques SDK","href":"https://auth0.com/docs/libraries"},{"label":"Apprendre","href":"https://auth0.com/learn"},{"label":"Introduction à l’IAM (CIAM)","href":"https://auth0.com/intro-to-iam"},{"label":"Rapports","href":"https://auth0.com/resources/whitepapers"},{"label":"Webinaires","href":"https://auth0.com/resources/webinars"}]},{"header":"Centre d’assistance","items":[{"label":"Communauté","href":"https://community.auth0.com"},{"label":"Aide","href":"https://support.auth0.com"},{"label":"Foire aux questions","href":"https://auth0.com/docs/troubleshoot"},{"label":"Auth0","href":"https://auth0.com"}]},{"header":"Entreprise","items":[{"label":"Nos clients","href":"https://auth0.com/customers"},{"label":"Conformité","href":"https://auth0.com/security"},{"label":"Partenaires","href":"https://auth0.com/partners"},{"label":"Carrières","href":"https://www.okta.com/company/careers"},{"label":"Okta + Auth0","href":"https://www.okta.com/okta-and-auth0"},{"label":"À propos de nous","href":"https://auth0.com/about"}]}]},"pages":[{"title":"fr-ca","href":"/docs/fr-ca/authenticate/database-connections/passkeys"}]},{"language":"ja-jp","footer":{"socials":{"x-twitter":"https://x.com/auth0","github":"https://github.com/auth0","linkedin":"https://www.linkedin.com/company/auth0"},"links":[{"header":"開発者向け","items":[{"label":"開発者ハブ","href":"https://developer.auth0.com"},{"label":"コードサンプルとガイド","href":"https://developer.auth0.com/resources"},{"label":"Zero Index Newsletter","href":"https://auth0.com/blog/newsletter"},{"label":"ブログ","href":"https://auth0.com/blog"},{"label":"変更履歴","href":"https://auth0.com/changelog"}]},{"header":"ドキュメント","items":[{"label":"ドキュメント","href":"https://auth0.com/docs"},{"label":"クイックスタート","href":"https://auth0.com/docs/quickstarts"},{"label":"API","href":"https://auth0.com/docs/api"},{"label":"SDKライブラリ","href":"https://auth0.com/docs/libraries"},{"label":"教育","href":"https://auth0.com/learn"},{"label":"IAM(CIAM)入門","href":"https://auth0.com/intro-to-iam"},{"label":"レポート","href":"https://auth0.com/resources/whitepapers"},{"label":"ウェビナー","href":"https://auth0.com/resources/webinars"}]},{"header":"サポートセンター","items":[{"label":"コミュニティ","href":"https://community.auth0.com"},{"label":"ヘルプ","href":"https://support.auth0.com"},{"label":"よくある質問","href":"https://auth0.com/docs/troubleshoot"},{"label":"Auth0","href":"https://auth0.com"}]},{"header":"会社情報","items":[{"label":"導入企業","href":"https://auth0.com/customers"},{"label":"コンプライアンス","href":"https://auth0.com/security"},{"label":"パートナー","href":"https://auth0.com/partners"},{"label":"採用情報","href":"https://www.okta.com/company/careers"},{"label":"Okta + Auth0","href":"https://www.okta.com/okta-and-auth0"},{"label":"私たちについて","href":"https://auth0.com/about"}]}]},"pages":[{"title":"ja-jp","href":"/docs/ja-jp/authenticate/database-connections/passkeys"}]}]},"title":"Passkey Authentication for Database Connections - Auth0 Docs","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DYplxqhs.js","DynamicMarkdown-Cc6AuSHS.js","zoom-image-lightbox-BNnMwe0F.js","lightbox-handle-r17bVUz3.js"]}