The following examples specify $management_access_token, or a Management API access token. This must be replaced with an access token that contains at least the following scopes:
create:custom_domains
read:custom_domains
create:clients
update:clients
update:client_credentials
update:client_keys
update:tenant_settings
To learn more about retrieving an access token with the required scopes, read Get Access Tokens.
Use self-signed certificates to verify the client’s identity during mTLS authentication. However, self-signed certificates have the following limitations:
Self-signed certificates are not accepted by some cloud providers such as Amazon.
To ensure the stability of our platform, Auth0 limits customers to two registered certificates.
Generate a certificate
To authenticate using self-signed mTLS, you must create a new self-signed client certificate.The following code sample generates a new self-signed certificate:
Because the certificate must be sent as a single-line JSON string value, every literal newline character in the PEM file must be JSON-escaped before you pass it to Auth0. Replace each line break with \n (or \r\n if the file uses Windows-style line endings). Many HTTP tools and libraries do not do this conversion for you, so verify the escaping before sending the request. For example:
For more information, see the Create a client API documentation.
Patch an existing client
You can update an existing client to accept mTLS client authentication by removing any value in the token_endpoint_auth_method field and creating values in the client_authentication_methods field.
Once you have configured your client for mTLS, you won’t be able to authenticate using the Client Secret unless you configure the token_endpoint_auth_method to stop using mTLS. To learn more, read Revert a client to use a Client Secret.
Create the credential resource
After you generate a certificate, create the credential resource:
Auth0 CLI
cURL
auth0 api post "clients/$client_id/credentials" \ --data '{ "name": "$credential_name", "credential_type": "x509_cert", "pem": "$credential_certificate" }'
Auth0 returns a credential ID in the response that you will need to associate the credential with the client.For more information, see the Create a client credential API documentation.
Associate the credential with the client and disable token_endpoint_auth_method
Uploaded credentials are not automatically enabled for client authentication. You need to update the client authentication to use the new self-signed client certificate.The following PATCH request sets the token_endpoint_auth_method to null, thus disabling Client Secret authentication. It also updates client_authentication_methods with the credential ID:
Once this request has completed, a Client Secret will no longer be accepted and clients must authenticate using mTLS.For more information, see the Update a client API documentation.
Unlike self-signed certificates that are generated by the client and have no trust chain, certificate authority (CA) signed certificates are considered more trustworthy since they are issued by a trusted third party. CA-signed certificates are the only type of certificate accepted by some cloud providers such as Amazon.CA-signed certificates have embedded in their identity information the notion of a Distinguished Name (DN). While each individual certificate created by a given CA is unique, they can share a common DN. When using CA-signed certificates, Auth0 stores the DN and compares forwarded client certificates with registered DNs.
Generate a certificate
The method of generating a CA-signed client certificate is highly dependent on the Public Key Infrastructure and outside of the scope of this document. We recommend generating at least a 2048-bit RSA key pair.
Create a new client
To create a client, make a POST call to the /clients endpoint with the following payload:
$client_name: the name for the new client
$credential_name: the name for the public key
$credential_certificate: the content of the PEM file generated by the CA
Instead of passing the full PEM file, you can also pass the subject DN. The subject DN must match the extracted Distinguished Name (DN) of the client certificates sent during the mTLS handshake.
Subject DN extraction may differ between different ecosystems. The most reliable way to guarantee that the authorization server will match the subject DN is to upload the whole PEM file.
The following POST request creates a new client with the subject DN:
For more information, see the Create a client API documentation.
Patch an existing client
If you don’t want to create a new client to use mTLS, you can update an existing client to accept mTLS client authentication. This involves removing any value in the token_endpoint_auth_method field and creating values in the client_authentication_methods field.
Once you have configured your client for mTLS, you won’t be able to authenticate using the Client Secret unless you configure the token_endpoint_auth_method to stop using mTLS. To learn more, read Revert a client to use a Client Secret.
Create the credential resource
Once you have generated a key pair exclusively for mTLS, create the credential resource. Make the following POST request to the /clients/$client_id/credentials endpoint:
Auth0 CLI
cURL
auth0 api post "clients/$client_id/credentials" \ --data '{ "name": "$credential_name", "credential_type": "cert_subject_dn", "pem": "$credential_certificate" }'
Instead of passing the full PEM file, you can pass the subject DN. The subject DN must match the extracted Distinguished Name (DN) of the client certificates sent during the mTLS handshake.The following code sample creates the credential resource using the Subject DN:
Auth0 CLI
cURL
auth0 api post "clients/$client_id/credentials" \ --data '{ "name": "$credential_name", "credential_type": "cert_subject_dn", "subject_dn": "C=XX\nST=StateName\nL=CityName\nO=CompanyName\nOU=CompanySectionName\nCN=CommonNameOrHostname" }'
When using either method, remember that the credential ID that gets returned in the response is needed to associate the credential with the client.For more information, see the Create a client credential API documentation.
Associate the credential with the client and disable token_endpoint_auth_method
Although we have created the credential, we have not yet associated the credential with the client.To do so, update client_authentication_methods by making the following PATCH request to the /clients endpoint. In the same request, set token_endpoint_auth_method to null:
To restore your client’s configuration to authenticate using a Client Secret, disable client_authentication_methods and re-enable token_endpoint_auth_method with your desired authentication method.In the following PATCH request, set token_endpoint_auth_method to client_secret_post to re-enable Client Secret authentication:
{"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":""},"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":"6af626113e877a418253f0cc","clientVersion":"0.0.4124","searchFilterCounts":[{"language":"en","tag":"Dev Tools","count":846},{"language":"fr-ca","tag":"Outils de développement","count":846},{"language":"ja-jp","tag":"開発者ツール","count":846},{"language":"en","tag":"APIs","count":622},{"language":"fr-ca","tag":"API","count":622},{"language":"ja-jp","tag":"API","count":622},{"language":"en","tag":"Management API","count":490},{"language":"fr-ca","tag":"API Management","count":490},{"language":"ja-jp","tag":"Management API","count":490},{"language":"en","tag":"Get Started","count":289},{"language":"ja-jp","tag":"はじめに","count":289},{"language":"fr-ca","tag":"Pour commencer","count":279},{"language":"ja-jp","tag":"リファレンス","count":253},{"language":"en","tag":"Reference","count":252},{"language":"fr-ca","tag":"Référence","count":252},{"language":"en","tag":"Extend","count":216},{"language":"fr-ca","tag":"Étendre","count":216},{"language":"ja-jp","tag":"拡張","count":216},{"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":194},{"language":"fr-ca","tag":"Surveiller","count":194},{"language":"ja-jp","tag":"監視","count":194},{"language":"en","tag":"Authenticate","count":186},{"language":"fr-ca","tag":"Authentifier","count":186},{"language":"ja-jp","tag":"認証","count":186},{"language":"en","tag":"Tenant Log Event Types","count":171},{"language":"fr-ca","tag":"Types d’événements du journal du locataire","count":171},{"language":"ja-jp","tag":"テナントのログイベントの種類","count":171}],"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":"custom-rbac-roles","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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","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}],"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\",\n \"Inter Fallback\",\n system-ui,\n -apple-system,\n 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:none;text-decoration:underline;text-underline-offset:2px;transition:opacity 0.15s ease-out;color:rgb(var(--primary));\u0026.quickstart_button{text-decoration:none}}.mdx-content .link:hover{color:rgb(var(--tw-prose-links))}.dark .mdx-content .link:hover{color:rgb(var(--primary))}.mdx-content table{border-radius:12px;border:0px;box-shadow:0 0 0 1px rgb(from var(--border-muted) r g b / 50%);overflow:hidden;thead {\n background-color: rgb(from var(--border-muted) r g b / 30%);\n }\n\n th, td {\n padding: 0.5rem;\n }\n\n /* Don't break mid-word in code formatting. */\n code {\n white-space: pre;\n }}img.icon.inline{margin:0}#navbar{padding-bottom:0.5rem;box-shadow:0 0 0 1px oklch(from var(--border) l c h / 0.1),\n 0 1px 1px -1px oklch(from var(--shadow) l c h / 0.06),\n 0 2px 2px -2px oklch(from var(--shadow) l c h / 0.06),\n 0 2px 4px -2px oklch(from var(--shadow) l c h / 0.06);> div:nth-child(2) {\n -webkit-backdrop-filter: blur(20px);\n backdrop-filter: blur(20px);\n transition:\n background-color 0.2s ease,\n backdrop-filter 0.2s ease;\n }\n\n /* This data attribute is set by the navbar controller */\n \u0026[data-is-opaque=\"true\"] > div:nth-child(2) {\n background-color: oklch(from var(--bg) l c h / 1);\n }}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 0.2s ease,\n visibility 0s linear 0s}body:has([data-uc-component] [data-slot=\"dialog-content\"]) #adu-root{opacity:0;visibility:hidden;transition:opacity 0.2s ease,\n visibility 0s linear 0.2s}.nav-tabs{column-gap:0}.nav-tabs-item{padding:0.25rem 0.75rem;text-shadow:none;div.bottom-0 {\n display: none;\n }}.nav-tabs-item[data-active]{color:rgb(var(--primary))}.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 0.15s ease-out;border-radius:0.75rem}#sidebar-content{border-color:transparent}#sidebar-content{a,\n button {\n text-shadow: none;\n }}.card{transition:all 0.15s ease}.libraries_card{border:1px solid var(--border-muted);\u0026:hover{border-color:var(--border)}img {\n margin: 0;\n }\n\n .libraries_card_divider {\n border-top: 1px solid var(--border-muted);\n margin: 0 1rem;\n }}.api_card_wrapper .card{background-color:transparent;color:var(--foreground-card);[data-component-part=\"card-title\"],\n #card-link-arrow-icon {\n transition: all .15s ease-out;\n color: currentColor;\n }\n\n /* Accent on hover */\n \u0026:hover {\n color: var(--foreground-selected);\n }\n\n /* Use only bottom border */\n border: 0;border-radius:0;border-bottom:3px solid currentColor!important;margin-bottom:1rem;[data-component-part=\"card-content-container\"] {\n padding: 1.25rem 0 0.5rem;\n }\n\n /* Right-align the absolute positioning for the icon */\n #card-link-arrow-icon {\n right: 0;\n }}[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":"#header{.prose {\n p {\n font-size: 0.875rem;\n }\n }\n\n /* Code block styling — light mode */\n \u0026 pre {\n background-color: #f6f8fa !important;\n border: 1px solid #d0d7de;\n border-radius: 1rem;\n }\n\n \u0026 pre code {\n font-size: 0.75rem;\n background-color: transparent !important;\n }\n\n \u0026 code:not(pre > code) {\n font-size: 0.75rem;\n background-color: #f0f2f4;\n border: 1px solid #d0d7de;\n border-radius: 0.375rem;\n }\n\n /* docs/api/management/v2/clients/update-a-client\n docs/api/management/v2/clients/create-a-client\n docs/api/management/v2/logs/search-log-events */\n \u0026 li {\n font-size: 0.75rem;\n }\n\n \u0026 li::before {\n top: 0.75rem;\n }\n\n /* Code block styling — dark mode */\n /* :is(html.dark) \u0026 pre compiles to: html.dark #header pre */\n :is(html.dark, html[data-appearance=\"dark\"], html[data-theme=\"dark\"]) \u0026 pre {\n background-color: #13141a !important;\n border-color: #2d2f3e !important;\n }\n\n :is(html.dark, html[data-appearance=\"dark\"], html[data-theme=\"dark\"])\n \u0026\n pre\n code {\n background-color: transparent !important;\n }\n\n :is(html.dark, html[data-appearance=\"dark\"], html[data-theme=\"dark\"])\n \u0026\n code:not(pre > code) {\n background-color: #1e1f2b !important;\n border-color: #2d2f3e !important;\n }}.primitive-param-field{font-size:0.875rem;.prose,\n .prose :where(*) {\n font-size: 0.875rem;\n }}.array-param-field{font-size:0.875rem;.prose,\n .prose :where(*) {\n font-size: 0.875rem;\n }}.object-param-field{font-size:0.875rem;.prose,\n .prose :where(*) {\n font-size: 0.875rem;\n }}.api-section-heading-subtitle{font-size:0.875rem;.prose,\n .prose :where(*) {\n font-size: 0.875rem;\n }}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":"@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--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{:root,:host{--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{*,:after,:before,::backdrop{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}html,:host{-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,samp,pre{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}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{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}::file-selector-button{margin-inline-end:4px}::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;position:absolute;overflow:hidden}.adu\\:absolute{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)));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)));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-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)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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\\]{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;transition-timing-function:var(--tw-ease,var(--adu-default-transition-timing-function));transition-duration:var(--tw-duration,var(--adu-default-transition-duration))}.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\\: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\\]\\:pointer-events-none svg{pointer-events:none}.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:before,.adu-dropdown-menu-content:after{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}@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))}}"},{"filePath":"ui/css/ai.css","content":".connection-card-search,.connection-card-filters button{background:var(--card);border-color:var(--foreground);transition:all 0.2s ease}.connection-card-filters button.active{text-decoration:underline dotted;color:rgb(var(--primary));border-color:rgb(var(--primary))}.connection-card-search{\u0026:focus,\u0026:focus-visible,\u0026:focus-within{border-color:rgb(var(--primary))}input {\n \u0026:focus, \u0026:focus-visible, \u0026:focus-within {\n border: none;\n outline: none;\n }\n }}.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:0.5rem;padding:0.5rem 1.125rem 0.5rem 1rem;border-radius:0.75rem;font-size:0.95rem;font-weight:600;cursor:pointer;transition:all 0.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 / 0.12),\n 0 1px 1px -1px oklch(from var(--button-primary) l c h / 0.06),\n 0 2px 2px -2px oklch(from var(--button-primary) l c h / 0.06),\n 0 2px 4px -2px oklch(from var(--button-primary) l c h / 0.06),\n 0 4px 6px -4px oklch(from var(--button-primary) l c h / 0.06),\n 0 6px 8px -6px oklch(from var(--button-primary) l c h / 0.06),\n 0 -1px 2px 0 oklch(from var(--button-primary) l c h / 0.2) inset}.download-button:hover:not(:disabled){background-color:oklch(from var(--button-primary) l c h / 0.8);box-shadow:0 0 0 4px oklch(from var(--button-primary) l c h / 0.06),\n 0 1px 1px -1px oklch(from var(--button-primary) l c h / 0.06),\n 0 2px 2px -2px oklch(from var(--button-primary) l c h / 0.06),\n 0 2px 4px -2px oklch(from var(--button-primary) l c h / 0.06),\n 0 4px 6px -4px oklch(from var(--button-primary) l c h / 0.06),\n 0 6px 8px -6px oklch(from var(--button-primary) l c h / 0.06),\n 0 -1px 2px 0 oklch(from var(--button-primary) l c h / 0.2) inset}.download-button:disabled{opacity:0.6;cursor:not-allowed}.download-button.downloading{pointer-events:none}.download-spinner{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}"},{"filePath":"ui/universal-components/universal-components-1.0.27.css","href":"/_mintlify/custom/auth0/73de81e2acf73139/ui/universal-components/universal-components-1.0.27.css"}],"page":{"pagePath":"docs/get-started/applications/configure-mtls/configure-mtls-for-a-client","slug":"/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client","pageMetadata":{"description":"Register a self-signed or CA-signed X.509 certificate on an Auth0 application to enable mTLS client authentication to the authorization server.","title":"Configure mTLS Authentication for a Client","validatedOn":"2026-07-14T00:00:00.000Z","href":"/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client"},"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: \"Register a self-signed or CA-signed X.509 certificate on an Auth0 application to enable mTLS client authentication to the authorization server.\"\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];function _createMdxContent(props){const _components={a:`a`,code:`code`,h5:`h5`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Callout,CodeBlock,Heading,Tab,Tabs,Warning}=_components;if(!Callout)_missingMdxReference(`Callout`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Learn how to configure mTLS authentication for a client with the `,_jsx(_components.a,{href:`#configure-mtls-with-management-api`,children:`Management API`}),` and `,_jsx(_components.a,{href:`#configure-mtls-with-auth0-dashboard`,children:`Auth0 Dashboard`}),`.`]}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Auth0 Dashboard`,id:`auth0-dashboard`,children:[_jsx(_components.p,{children:`You can use the Auth0 Dashboard to configure mTLS for a client to enable mTLS client authentication to the Authorization Server.`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Navigate to `,_jsx(_components.a,{href:`https://manage.auth0.com/#/applications`,children:`Auth0 Dashboard > Applications > Applications`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Select the application you want to use with mTLS or `,_jsx(_components.a,{href:`/docs/get-started/auth0-overview/create-applications`,children:`create a new application`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Select the `,_jsx(_components.strong,{children:`Credentials`}),` tab.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Choose the required `,_jsx(_components.strong,{children:`Authentication Method`}),`, which can be either:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`mTLS with a `,_jsx(_components.a,{href:`/docs/customize/custom-domains/self-managed-certificates`,children:`self-signed certificate`})]}),`\n`,_jsx(_components.li,{children:`mTLS with a certificate authority signed certificate`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Once you select your preferred type of certificate, you can:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Assign an existing credential (certificate) to the client application`}),`\n`,_jsx(_components.li,{children:`Add a new credential by uploading a certificate`}),`\n`]}),`\n`]}),`\n`]})]}),_jsxs(Tab,{title:`Management API`,id:`management-api`,\"data-child-tab-ids\":`[\"auth0-cli\",\"curl\",\"auth0-cli-2\",\"curl-2\",\"auth0-cli-3\",\"curl-3\",\"auth0-cli-4\",\"curl-4\",\"auth0-cli-5\",\"curl-5\",\"auth0-cli-6\",\"curl-6\",\"auth0-cli-7\",\"curl-7\",\"auth0-cli-8\",\"curl-8\",\"auth0-cli-9\",\"curl-9\"]`,\"data-child-heading-ids\":`[\"self-signed-certificates\",\"certificate-authority-signed-certificates\",\"revert-a-client-to-use-a-client-secret\"]`,children:[_jsxs(_components.p,{children:[`Use the `,_jsx(_components.a,{href:`/docs/api/management/v2`,children:`Auth0 Management API`}),` to configure mTLS for a client.`]}),_jsxs(Callout,{icon:`file-lines`,color:`#0EA5E9`,iconType:`regular`,children:[_jsxs(_components.p,{children:[`The following examples specify `,_jsx(_components.strong,{children:`$management_access_token`}),`, or a `,_jsx(_components.a,{href:`/docs/secure/tokens/access-tokens/management-api-access-tokens`,children:`Management API access token`}),`. This must be replaced with an access token that contains at least the following scopes:`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`create:custom_domains`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`read:custom_domains`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`create:clients`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`update:clients`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`update:client_credentials`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`update:client_keys`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`update:tenant_settings`})}),`\n`]}),_jsxs(_components.p,{children:[`To learn more about retrieving an access token with the required scopes, read `,_jsx(_components.a,{href:`/docs/secure/tokens/access-tokens/get-access-tokens`,children:`Get Access Tokens`}),`.`]})]}),_jsx(Heading,{level:`4`,id:`self-signed-certificates`,children:`Self-signed certificates`}),_jsx(_components.p,{children:`Use self-signed certificates to verify the client’s identity during mTLS authentication. However, self-signed certificates have the following limitations:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Self-signed certificates are not accepted by some cloud providers such as Amazon.`}),`\n`,_jsx(_components.li,{children:`To ensure the stability of our platform, Auth0 limits customers to two registered certificates.`}),`\n`]}),_jsx(_components.h5,{children:`Generate a certificate`}),_jsx(_components.p,{children:`To authenticate using self-signed mTLS, you must create a new self-signed client certificate.`}),_jsx(_components.p,{children:`The following code sample generates a new self-signed certificate:`}),_jsx(CodeBlock,{filename:``,lines:`true`,wrap:`true`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openssl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` req`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -x509`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -newkey`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` rsa:2048`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -keyout`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` key.pem`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -out`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` cert.pem`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -sha256`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -days`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 365`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -nodes`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -subj`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=CommonNameOrHostname\"`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`Because the certificate must be sent as a single-line JSON string value, every literal newline character in the PEM file must be JSON-escaped before you pass it to Auth0. Replace each line break with `,_jsx(_components.code,{children:`\\\\n`}),` (or `,_jsx(_components.code,{children:`\\\\r\\\\n`}),` if the file uses Windows-style line endings). Many HTTP tools and libraries do not do this conversion for you, so verify the escaping before sending the request. For example:`]}),_jsx(CodeBlock,{filename:``,lines:`true`,wrap:`true`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`-----BEGIN CERTIFICATE-----\\\\r\\\\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDDXAVKQo2SUMHH\\\\r\\\\no9ecWYNiL5\\\\/yva5NSj8uQjKoeRAsOIOAyOBTLxgwmno13xZ8VDkcT1cHTlC+2CkE\\\\r\\\\noBII4OUbHPVof+dtknkL+jUBdIPX1QvlGSUbzduZE4hEEQ8zH6w4EAA2VN72Bymn\\\\r\\\\nT8i\\\\/+Tz9Dx6M1nkuXPCwM7sYEuq5OrqT5yVB6KByKKElp\\\\/tauJkHp0st04iGDgl2\\\\r\\\\nFJUt3QJFCFewTDDdGq62otVJxHfouXPmHBQjzf+f1CZy+N0q2z+JGRt44YZq+F9y\\\\r\\\\ne3RWawvv2x3TXgRBLpvIKqf99LoPVdwozHl8QODu52dyelvLQ866XLhAALuMwic\\\\/\\\\r\\\\nbQbolnMpAgMBAAECggEAf6LliekFmezNTmQLgIkzP7kh5XRsJu81bEGv20aNfHbH\\\\r\\\\n5CJZ\\\\/b8tLMQgyIWiqURVs9taXtmaA7YyxmTWo5pb1WUMKWQ3je0+zMaCTxsS8Lau\\\\r\\\\n+NV+2zWaHd8XDnGe3qX43QAHQ3gb294+JqQH4vUyFZwFN7sAnXv3fQevW0Ewvics\\\\r\\\\nOua\\\\/xNa7y5hbJUPZiQjRhO+n+gTEqpfsnPWNlm9hk\\\\/wVnnjKvMfstN4zUbznRAoN\\\\r\\\\nW8TK82tiVWAXW4CjgIBtVRZjTA9x3UOtbhcvNzaTRxc+scCpIpAVuurS+ZIKZdpm\\\\r\\\\nNnhiOk3akpLU3KZrm8C5JQRn8cupY9WkfCiLXbMFAQKBgQD9JfVMv6zDeNvExneR\\\\r\\\\n7fZDIT2UAEhYExwRJwQPyxkVPwev9HBYuuaaknIbomWTkt\\\\/B6Q3k3p6VI4lxhnVl\\\\r\\\\nbkpOYl5UquP3VoVROEJts224hKgVcLw6s+i+lZDOAleNgbN7rj82l4BIu+SEj\\\\/7c\\\\r\\\\nz94hAa\\\\/wRRvsW+QnxF1sZnpY+QKBgQDFj2h8I4noFJk3sbbk3qQdi5+49ibWSuhc\\\\r\\\\nXVpU+0dQ1lRlhXYT9cDMc22HRt8hjXUNRhdpXvOqVaFiBjv9wBsmFyaJO3tOK3uE\\\\r\\\\ndBgD4lF03bnbGI7\\\\/I3DivW\\\\/tyEMS5JXI\\\\/qrpdWor+wR30c5M\\\\/45y2AGpjwnoGf+D\\\\r\\\\nX8SAMzknsQKBgQCrSljuIrBK3+eNAWH821CL4d0h3QMWnW+bZ5QG\\\\/70sNCcGd1bh\\\\r\\\\noy3Qn5EYg81JitNfCUw+dihF7\\\\/LbX0jmZjdfTI5Zqfxw6xlweKnyQrvWY+S8BTlI\\\\r\\\\nW138P4Xo74rAlGeXI7NgRCkojgK1dB3W2cyK9vJOmOSpDRCXm\\\\/Y\\\\/GCRnOQKBgCE\\\\/\\\\r\\\\n75\\\\/lA1LSFK9w8401g32NgEZK92JdnRnehFOFLw2F5RJpEeRuGhLO4oJABVHKUwb2\\\\r\\\\n4v3TA0OJwe2Tiwk8CdWxU8UJA8m2O8WhHGGa94apwpwDWB3MwzUGGQ52BAPsAOGh\\\\r\\\\nKva70jCwwKHB5+zBniHqBO2aq1oq9fwQZCwHcvkhAoGBAIa8QMHNrX7AuCSAeR4\\\\/\\\\r\\\\n\\\\/7XrGU1a4oExz417AYgZOuGaYQAI5BMIjRZZ3JTzO\\\\/QsmkzeS1tFuBlih8li\\\\/t4l\\\\r\\\\nE2TdnKhy376A6QWfbTDkJN6gzFeaMKwe98mOHKeq0KZITGYVTSa2AYH5zaro0Yku\\\\r\\\\nonOH1NdyEKFFgxGLg7wveYUW\\\\r\\\\n-----END CERTIFICATE-----`})}),`\n`]})})}),_jsx(_components.h5,{children:`Create a new client`}),_jsxs(_components.p,{children:[`To create a new client, make a POST call to the `,_jsx(_components.a,{href:`/docs/api/management/v2/clients/post-clients`,children:_jsx(_components.code,{children:`/clients`})}),` endpoint with the following payload:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`$client_name`}),_jsx(_components.strong,{children:`:`}),` the name for the new client`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`$credential_name`}),_jsx(_components.strong,{children:`:`}),` the name for the public key`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`$credential_certificate`}),`: the content of the `,_jsx(_components.code,{children:`cert.pem`}),` file generated in the previous step`]}),`\n`]}),_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Auth0 CLI`,id:`auth0-cli`,children:[_jsxs(Callout,{icon:`file-lines`,color:`#0EA5E9`,iconType:`regular`,children:[`Using the Auth0 CLI? If you haven’t already, `,_jsx(_components.a,{href:`/docs/deploy-monitor/auth0-cli`,children:`set up and authenticate your CLI session`}),` before running this command.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`17`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`17`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`auth0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` api`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` post`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"clients\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$client_name\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"app_type\": \"non_interactive\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"client_authentication_methods\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"self_signed_tls_client_auth\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credentials\": [{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$credential_name\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credential_type\": \"x509_cert\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"pem\": \"$credential_certificate\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"jwt_configuration\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"alg\": \"RS256\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})]}),_jsx(Tab,{title:`cURL`,id:`curl`,children:_jsx(CodeBlock,{filename:``,lines:`true`,numberOfLines:`19`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`19`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --location`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://$tenant/api/v2/clients'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer $management_access_token'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data-raw`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$client_name\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"app_type\": \"non_interactive\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"client_authentication_methods\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"self_signed_tls_client_auth\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credentials\": [{ `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$credential_name\", `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credential_type\": \"x509_cert\", `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"pem\": \"$credential_certificate\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"jwt_configuration\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"alg\": \"RS256\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})})})]}),_jsxs(_components.p,{children:[`For more information, see the `,_jsx(_components.a,{href:`/docs/api/management/v2/clients/post-clients`,children:`Create a client`}),` API documentation.`]}),_jsx(_components.h5,{children:`Patch an existing client`}),_jsxs(_components.p,{children:[`You can update an existing client to accept mTLS client authentication by removing any value in the `,_jsx(_components.code,{children:`token_endpoint_auth_method`}),` field and creating values in the `,_jsx(_components.code,{children:`client_authentication_methods`}),` field.`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`Once you have configured your client for mTLS, you won’t be able to authenticate using the Client Secret unless you configure the `,_jsx(_components.code,{children:`token_endpoint_auth_method`}),` to stop using mTLS. To learn more, read `,_jsx(_components.a,{href:`#revert-a-client-to-use-a-client-secret`,children:`Revert a client to use a Client Secret`}),`.`]})}),_jsx(_components.h5,{children:`Create the credential resource`}),_jsx(_components.p,{children:`After you generate a certificate, create the credential resource:`}),_jsxs(Tabs,{children:[_jsx(Tab,{title:`Auth0 CLI`,id:`auth0-cli-2`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`auth0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` api`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` post`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"clients/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$client_id`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/credentials\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$credential_name\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credential_type\": \"x509_cert\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"pem\": \"$credential_certificate\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})}),_jsx(Tab,{title:`cURL`,id:`curl-2`,children:_jsx(CodeBlock,{filename:``,lines:`true`,numberOfLines:`8`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --location`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://$tenant/api/v2/clients/$client_id/credentials'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer $management_access_token'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data-raw`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$credential_name\", `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credential_type\": \"x509_cert\", `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"pem\": \"$credential_certificate\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})})})]}),_jsx(_components.p,{children:`Auth0 returns a credential ID in the response that you will need to associate the credential with the client.`}),_jsxs(_components.p,{children:[`For more information, see the `,_jsx(_components.a,{href:`/docs/api/management/v2/clients/post-credentials`,children:`Create a client credential`}),` API documentation.`]}),_jsxs(_components.h5,{children:[`Associate the credential with the client and disable `,_jsx(_components.code,{children:`token_endpoint_auth_method`})]}),_jsx(_components.p,{children:`Uploaded credentials are not automatically enabled for client authentication. You need to update the client authentication to use the new self-signed client certificate.`}),_jsxs(_components.p,{children:[`The following PATCH request sets the `,_jsx(_components.code,{children:`token_endpoint_auth_method`}),` to `,_jsx(_components.code,{children:`null`}),`, thus disabling Client Secret authentication. It also updates `,_jsx(_components.code,{children:`client_authentication_methods`}),` with the credential ID:`]}),_jsxs(Tabs,{children:[_jsx(Tab,{title:`Auth0 CLI`,id:`auth0-cli-3`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`auth0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` api`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` patch`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"clients/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$client_id`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"token_endpoint_auth_method\": null,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"client_authentication_methods\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"self_signed_tls_client_auth\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credentials\": [{ \"id\": $credential.id }]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})}),_jsx(Tab,{title:`cURL`,id:`curl-3`,children:_jsx(CodeBlock,{filename:``,lines:`true`,numberOfLines:`11`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --location`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PATCH`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://$tenant/api/v2/clients/$client_id'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer $management_access_token'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data-raw`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"token_endpoint_auth_method\": null, `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"client_authentication_methods\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"self_signed_tls_client_auth\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credentials\": [{ \"id\": $credential.id }]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})})})]}),_jsx(_components.p,{children:`Once this request has completed, a Client Secret will no longer be accepted and clients must authenticate using mTLS.`}),_jsxs(_components.p,{children:[`For more information, see the `,_jsx(_components.a,{href:`/docs/api/management/v2/clients/patch-clients-by-id`,children:`Update a client`}),` API documentation.`]}),_jsx(Heading,{level:`4`,id:`certificate-authority-signed-certificates`,children:`Certificate authority signed certificates`}),_jsx(_components.p,{children:`Unlike self-signed certificates that are generated by the client and have no trust chain, certificate authority (CA) signed certificates are considered more trustworthy since they are issued by a trusted third party. CA-signed certificates are the only type of certificate accepted by some cloud providers such as Amazon.`}),_jsx(_components.p,{children:`CA-signed certificates have embedded in their identity information the notion of a Distinguished Name (DN). While each individual certificate created by a given CA is unique, they can share a common DN. When using CA-signed certificates, Auth0 stores the DN and compares forwarded client certificates with registered DNs.`}),_jsx(_components.h5,{children:`Generate a certificate`}),_jsxs(_components.p,{children:[`The method of generating a CA-signed client certificate is highly dependent on the Public Key Infrastructure and outside of the scope of this document. We recommend generating at least a `,_jsx(_components.a,{href:`/docs/secure/application-credentials/generate-rsa-key-pair`,children:`2048-bit RSA key pair`}),`.`]}),_jsx(_components.h5,{children:`Create a new client`}),_jsxs(_components.p,{children:[`To create a client, make a POST call to the `,_jsx(_components.a,{href:`/docs/api/management/v2/clients/post-clients`,children:_jsx(_components.code,{children:`/clients`})}),` endpoint with the following payload:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`$client_name`}),_jsx(_components.strong,{children:`:`}),` the name for the new client`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`$credential_name`}),_jsx(_components.strong,{children:`:`}),` the name for the public key`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`$credential_certificate`}),`: the content of the PEM file generated by the CA`]}),`\n`]}),_jsxs(Tabs,{children:[_jsx(Tab,{title:`Auth0 CLI`,id:`auth0-cli-4`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`17`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`17`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`auth0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` api`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` post`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"clients\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$client_name\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"app_type\": \"non_interactive\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"client_authentication_methods\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tls_client_auth\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credentials\": [{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$credential_name\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credential_type\": \"cert_subject_dn\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"pem\": \"$credential_certificate\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"jwt_configuration\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"alg\": \"RS256\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})}),_jsx(Tab,{title:`cURL`,id:`curl-4`,children:_jsx(CodeBlock,{filename:``,lines:`true`,numberOfLines:`19`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`19`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --location`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://$tenant/api/v2/clients'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer $management_access_token'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data-raw`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$client_name\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"app_type\": \"non_interactive\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"client_authentication_methods\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tls_client_auth\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credentials\": [{ `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$credential_name\", `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credential_type\": \"cert_subject_dn\", `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"pem\": \"$credential_certificate\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"jwt_configuration\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"alg\": \"RS256\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})})})]}),_jsx(_components.p,{children:`Instead of passing the full PEM file, you can also pass the subject DN. The subject DN must match the extracted Distinguished Name (DN) of the client certificates sent during the mTLS handshake.`}),_jsx(Callout,{icon:`file-lines`,color:`#0EA5E9`,iconType:`regular`,children:_jsx(_components.p,{children:`Subject DN extraction may differ between different ecosystems. The most reliable way to guarantee that the authorization server will match the subject DN is to upload the whole PEM file.`})}),_jsx(_components.p,{children:`The following POST request creates a new client with the subject DN:`}),_jsxs(Tabs,{children:[_jsx(Tab,{title:`Auth0 CLI`,id:`auth0-cli-5`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`17`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`17`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`auth0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` api`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` post`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"clients\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$client_name\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"app_type\": \"non_interactive\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"client_authentication_methods\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tls_client_auth\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credentials\": [{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$credential_name\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credential_type\": \"cert_subject_dn\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"subject_dn\": \"C=XX\\\\nST=StateName\\\\nL=CityName\\\\nO=CompanyName\\\\nOU=CompanySectionName\\\\nCN=CommonNameOrHostname\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"jwt_configuration\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"alg\": \"RS256\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})}),_jsx(Tab,{title:`cURL`,id:`curl-5`,children:_jsx(CodeBlock,{filename:``,lines:`true`,numberOfLines:`19`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`19`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --location`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://$tenant/api/v2/clients'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer $management_access_token'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data-raw`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$client_name\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"app_type\": \"non_interactive\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"client_authentication_methods\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tls_client_auth\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credentials\": [{ `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$credential_name\", `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credential_type\": \"cert_subject_dn\", `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"subject_dn\": \"C=XX\\\\nST=StateName\\\\nL=CityName\\\\nO=CompanyName\\\\nOU=CompanySectionName\\\\nCN=CommonNameOrHostname\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"jwt_configuration\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"alg\": \"RS256\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})})})]}),_jsxs(_components.p,{children:[`For more information, see the `,_jsx(_components.a,{href:`/docs/api/management/v2/clients/post-clients`,children:`Create a client`}),` API documentation.`]}),_jsx(_components.h5,{children:`Patch an existing client`}),_jsxs(_components.p,{children:[`If you don’t want to create a new client to use mTLS, you can update an existing client to accept mTLS client authentication. This involves removing any value in the `,_jsx(_components.code,{children:`token_endpoint_auth_method`}),` field and creating values in the `,_jsx(_components.code,{children:`client_authentication_methods`}),` field.`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`Once you have configured your client for mTLS, you won’t be able to authenticate using the Client Secret unless you configure the `,_jsx(_components.code,{children:`token_endpoint_auth_method`}),` to stop using mTLS. To learn more, read `,_jsx(_components.a,{href:`#revert-a-client-to-use-a-client-secret`,children:`Revert a client to use a Client Secret`}),`.`]})}),_jsx(_components.h5,{children:`Create the credential resource`}),_jsxs(_components.p,{children:[`Once you have `,_jsx(_components.a,{href:`/docs/secure/application-credentials/generate-rsa-key-pair`,children:`generated a key pair`}),` exclusively for mTLS, create the credential resource. Make the following POST request to the `,_jsx(_components.code,{children:`/clients/$client_id/credentials`}),` endpoint:`]}),_jsxs(Tabs,{children:[_jsx(Tab,{title:`Auth0 CLI`,id:`auth0-cli-6`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`auth0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` api`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` post`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"clients/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$client_id`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/credentials\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$credential_name\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credential_type\": \"cert_subject_dn\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"pem\": \"$credential_certificate\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})}),_jsx(Tab,{title:`cURL`,id:`curl-6`,children:_jsx(CodeBlock,{filename:``,lines:`true`,numberOfLines:`8`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --location`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://$tenant/api/v2/clients/$client_id/credentials'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer $management_access_token'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data-raw`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$credential_name\", `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credential_type\": \"cert_subject_dn\", `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"pem\": \"$credential_certificate\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})})})]}),_jsx(_components.p,{children:`Instead of passing the full PEM file, you can pass the subject DN. The subject DN must match the extracted Distinguished Name (DN) of the client certificates sent during the mTLS handshake.`}),_jsx(_components.p,{children:`The following code sample creates the credential resource using the Subject DN:`}),_jsxs(Tabs,{children:[_jsx(Tab,{title:`Auth0 CLI`,id:`auth0-cli-7`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`auth0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` api`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` post`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"clients/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$client_id`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/credentials\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$credential_name\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credential_type\": \"cert_subject_dn\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"subject_dn\": \"C=XX\\\\nST=StateName\\\\nL=CityName\\\\nO=CompanyName\\\\nOU=CompanySectionName\\\\nCN=CommonNameOrHostname\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})}),_jsx(Tab,{title:`cURL`,id:`curl-7`,children:_jsx(CodeBlock,{filename:``,lines:`true`,numberOfLines:`8`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --location`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://$tenant/api/v2/clients/$client_id/credentials'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer $management_access_token'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data-raw`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"name\": \"$credential_name\", `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"credential_type\": \"cert_subject_dn\", `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"subject_dn\": \"C=XX\\\\nST=StateName\\\\nL=CityName\\\\nO=CompanyName\\\\nOU=CompanySectionName\\\\nCN=CommonNameOrHostname\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})})})]}),_jsx(_components.p,{children:`When using either method, remember that the credential ID that gets returned in the response is needed to associate the credential with the client.`}),_jsxs(_components.p,{children:[`For more information, see the `,_jsx(_components.a,{href:`/docs/api/management/v2/clients/post-credentials`,children:`Create a client credential`}),` API documentation.`]}),_jsxs(_components.h5,{children:[`Associate the credential with the client and disable `,_jsx(_components.code,{children:`token_endpoint_auth_method`})]}),_jsx(_components.p,{children:`Although we have created the credential, we have not yet associated the credential with the client.`}),_jsxs(_components.p,{children:[`To do so, update\\xA0 `,_jsx(_components.code,{children:`client_authentication_methods`}),` by making the following PATCH request to the `,_jsx(_components.code,{children:`/clients`}),` endpoint. In the same request, set `,_jsx(_components.code,{children:`token_endpoint_auth_method`}),` to `,_jsx(_components.code,{children:`null`}),`:`]}),_jsx(_components.p,{children:``}),_jsxs(Tabs,{children:[_jsx(Tab,{title:`Auth0 CLI`,id:`auth0-cli-8`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`auth0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` api`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` patch`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"clients/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$client_id`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \\xA0 \"token_endpoint_auth_method\": null,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \\xA0 \"client_authentication_methods\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \\xA0 \\xA0 \"tls_client_auth\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \\xA0 \\xA0 \\xA0 \"credentials\": [{ \"id\": $credential.id }]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \\xA0 \\xA0 }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \\xA0 }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})}),_jsx(Tab,{title:`cURL`,id:`curl-8`,children:_jsx(CodeBlock,{filename:``,lines:`true`,numberOfLines:`11`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --location`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PATCH`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://$tenant/api/v2/clients/$client_id'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`\\xA0 --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer $management_access_token'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`\\xA0 --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`\\xA0 --data-raw`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\\xA0 \"token_endpoint_auth_method\": null, `})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\\xA0 \"client_authentication_methods\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\\xA0 \\xA0 \"tls_client_auth\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\\xA0 \\xA0 \\xA0 \"credentials\": [{ \"id\": $credential.id }]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\\xA0 \\xA0 }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\\xA0 }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})})})]}),_jsx(_components.p,{children:`Once this request has completed, the client can only be authenticated using mTLS.`}),_jsxs(_components.p,{children:[`For more information, see the `,_jsx(_components.a,{href:`/docs/api/management/v2/clients/patch-clients-by-id`,children:`Update a client`}),` API documentation.`]}),_jsx(Heading,{level:`4`,id:`revert-a-client-to-use-a-client-secret`,children:`Revert a client to use a Client Secret`}),_jsxs(_components.p,{children:[`To restore your client’s configuration to authenticate using a Client Secret, disable `,_jsx(_components.code,{children:`client_authentication_methods`}),` and re-enable `,_jsx(_components.code,{children:`token_endpoint_auth_method`}),` with your desired authentication method.`]}),_jsxs(_components.p,{children:[`In the following PATCH request, set `,_jsx(_components.code,{children:`token_endpoint_auth_method`}),` to `,_jsx(_components.code,{children:`client_secret_post`}),` to re-enable Client Secret authentication:`]}),_jsxs(Tabs,{children:[_jsx(Tab,{title:`Auth0 CLI`,id:`auth0-cli-9`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`auth0`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` api`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` patch`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"clients/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$client_id`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"token_endpoint_auth_method\": \"client_secret_post\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"client_authentication_methods\": null`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})}),_jsx(Tab,{title:`cURL`,id:`curl-9`,children:_jsx(CodeBlock,{filename:``,lines:`true`,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --location`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --request`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PATCH`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://$tenant/api/v2/clients/$client_id'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer $management_access_token'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --header`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data-raw`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"token_endpoint_auth_method\": \"client_secret_post\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"client_authentication_methods\": null`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})})})]}),_jsxs(_components.p,{children:[`For more information, see the `,_jsx(_components.a,{href:`/docs/api/management/v2/clients/patch-clients-by-id`,children:`Update a client`}),` API documentation.`]})]})]}),`\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/get-started/authentication-and-authorization-flow/authenticate-with-mtls`,children:`Authenticate with mTLS`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/get-started/applications/configure-mtls/set-up-the-customer-edge`,children:`Set up the Customer Edge`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/docs/get-started/applications/configure-mtls/configure-mtls-for-a-tenant`,children:`Configure mTLS Authentication for a Tenant`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{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":{"description":"Register a self-signed or CA-signed X.509 certificate on an Auth0 application to enable mTLS client authentication to the authorization server.","title":"Configure mTLS Authentication for a Client","validatedOn":"2026-07-14T00:00:00.000Z","href":"/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Self-signed certificates","slug":"self-signed-certificates","depth":4,"children":[],"tabId":"management-api"},{"title":"Certificate authority signed certificates","slug":"certificate-authority-signed-certificates","depth":4,"children":[],"tabId":"management-api"},{"title":"Revert a client to use a Client Secret","slug":"revert-a-client-to-use-a-client-secret","depth":4,"children":[],"tabId":"management-api"},{"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/15b21268d7cc82a0/ui/auth0-docs-ui-1.10.0.umd.js","/_mintlify/custom/auth0/edda60bac2809e28/ui/js/auth0-cli-language.js","/_mintlify/custom/auth0/af65702d2f0210f7/ui/universal-components/universal-components-1.0.27.umd.js"],"subdomain":"auth0","siteName":"Auth0 Docs","title":"Configure mTLS Authentication for a Client - Auth0 Docs","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"manual"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client","matchLevel":0},"fr-ca":{"href":"/docs/fr-ca/get-started/applications/configure-mtls/configure-mtls-for-a-client","matchLevel":1},"ja-jp":{"href":"/docs/ja-jp/get-started/applications/configure-mtls/configure-mtls-for-a-client","matchLevel":1}}},"lastModified":"2026-10-20T08:26:03.928Z","originalFileLocation":"docs/get-started/applications/configure-mtls/configure-mtls-for-a-client.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=\"Register a self-signed or CA-signed X.509 certificate on an Auth0 application to enable mTLS client authentication to the authorization server.\">\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=\"Configure mTLS Authentication for a Client - Auth0 Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Register a self-signed or CA-signed X.509 certificate on an Auth0 application to enable mTLS client authentication to the authorization server.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Auth0 Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://auth0.mintlify.site/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=\"Configure mTLS Authentication for a Client - Auth0 Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Register a self-signed or CA-signed X.509 certificate on an Auth0 application to enable mTLS client authentication to the authorization server.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://auth0.mintlify.site/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/get-started/applications/configure-mtls/configure-mtls-for-a-client\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr-CA\" href=\"https://auth0.com/docs/fr-ca/get-started/applications/configure-mtls/configure-mtls-for-a-client\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja-JP\" href=\"https://auth0.com/docs/ja-jp/get-started/applications/configure-mtls/configure-mtls-for-a-client\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client\">\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/get-started/applications/configure-mtls/configure-mtls-for-a-client#webpage\",\"url\":\"https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client\",\"name\":\"Configure mTLS Authentication for a Client\",\"description\":\"Register a self-signed or CA-signed X.509 certificate on an Auth0 application to enable mTLS client authentication to the authorization server.\",\"dateModified\":\"2026-10-20T08:26:03.928Z\",\"isPartOf\":{\"@id\":\"https://auth0.com#website\"},\"breadcrumb\":{\"@id\":\"https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Applications\",\"item\":\"https://auth0.com/docs/get-started/applications/confidential-and-public-applications\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Security and Compliance\",\"item\":\"https://auth0.com/docs/get-started/applications/signing-algorithms\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Configure mTLS Authentication\",\"item\":\"https://auth0.com/docs/get-started/applications/configure-mtls\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Configure mTLS Authentication for a Client\",\"item\":\"https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client#article\",\"headline\":\"Configure mTLS Authentication for a Client\",\"name\":\"Configure mTLS Authentication for a Client\",\"description\":\"Register a self-signed or CA-signed X.509 certificate on an Auth0 application to enable mTLS client authentication to the authorization server.\",\"url\":\"https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client\",\"mainEntityOfPage\":{\"@id\":\"https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client#webpage\"},\"image\":\"https://auth0.com/docs/images/share-image.png\",\"dateModified\":\"2026-10-20T08:26:03.928Z\",\"publisher\":{\"@id\":\"https://auth0.com/#organization\"},\"isPartOf\":{\"@id\":\"https://auth0.com#website\"}}]}\u003c/script>","agentPointerHref":"/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client.md","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 with Auth0","sidebarTitle":"Get Started","href":"/docs/get-started"},{"group":"Learn the Basics","root":{"title":"Identity Fundamentals","href":"/docs/get-started/identity-fundamentals"},"expanded":true,"pages":[{"title":"Introduction to Auth0","href":"/docs/get-started/identity-fundamentals/introduction-to-auth0"},{"title":"Introduction to Identity and Access Management (IAM)","href":"/docs/get-started/identity-fundamentals/identity-and-access-management"},{"title":"Authentication vs. Authorization","href":"/docs/get-started/identity-fundamentals/authentication-and-authorization"},{"group":"Authentication and Authorization Flows","root":{"sidebarTitle":"Overview","title":"Authentication and Authorization Flows","href":"/docs/get-started/authentication-and-authorization-flow"},"pages":[{"title":"Which OAuth 2.0 Flow Should I Use?","href":"/docs/get-started/authentication-and-authorization-flow/which-oauth-2-0-flow-should-i-use"},{"group":"Authorization Code Flow","pages":[{"sidebarTitle":"Overview","title":"Authorization Code Flow","href":"/docs/get-started/authentication-and-authorization-flow/authorization-code-flow"},{"title":"Add Login Using the Authorization Code Flow","href":"/docs/get-started/authentication-and-authorization-flow/authorization-code-flow/add-login-auth-code-flow"},{"title":"Call Your API Using the Authorization Code Flow","href":"/docs/get-started/authentication-and-authorization-flow/authorization-code-flow/call-your-api-using-the-authorization-code-flow"},{"title":"Authorization Code Flow with Rich Authorization Requests (RAR)","href":"/docs/get-started/authentication-and-authorization-flow/authorization-code-flow/authorization-code-flow-with-rar"},{"title":"Authorization Code Flow with Pushed Authorization Requests (PAR)","href":"/docs/get-started/authentication-and-authorization-flow/authorization-code-flow/authorization-code-flow-with-par"},{"title":"Authorization Code Flow with JWT-Secured Authorization Requests (JAR)","href":"/docs/get-started/authentication-and-authorization-flow/authorization-code-flow/authorization-code-flow-with-jar"}]},{"group":"Authorization Code Flow with Proof Key for Code Exchange","pages":[{"title":"Authorization Code Flow with Proof Key for Code Exchange (PKCE)","href":"/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce"},{"title":"Add Login Using the Authorization Code Flow with PKCE","href":"/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce/add-login-using-the-authorization-code-flow-with-pkce"},{"title":"Call Your API Using the Authorization Code Flow with PKCE","href":"/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce/call-your-api-using-the-authorization-code-flow-with-pkce"}]},{"group":"Client Credentials Flow","pages":[{"sidebarTitle":"Overview","title":"Client Credentials Flow","href":"/docs/get-started/authentication-and-authorization-flow/client-credentials-flow"},{"title":"Call Your API Using the Client Credentials Flow","href":"/docs/get-started/authentication-and-authorization-flow/client-credentials-flow/call-your-api-using-the-client-credentials-flow"},{"title":"Customize Tokens Using Hooks with Client Credentials Flow","href":"/docs/get-started/authentication-and-authorization-flow/client-credentials-flow/customize-tokens-using-hooks-with-client-credentials-flow"}]},{"group":"Client-Initiated Backchannel Authentication Flow","pages":[{"sidebarTitle":"Overview","title":"Client-Initiated Backchannel Authentication Flow","href":"/docs/get-started/authentication-and-authorization-flow/client-initiated-backchannel-authentication-flow"},{"title":"Mobile Push Notifications with CIBA","href":"/docs/get-started/authentication-and-authorization-flow/client-initiated-backchannel-authentication-flow/mobile-push-notifications-with-ciba"},{"title":"Email Notifications with CIBA","href":"/docs/get-started/authentication-and-authorization-flow/client-initiated-backchannel-authentication-flow/email-notifications-with-ciba"},{"title":"User Authorization with CIBA","href":"/docs/get-started/authentication-and-authorization-flow/client-initiated-backchannel-authentication-flow/user-authorization-with-ciba"}]},{"group":"Custom Token Exchange Flow","pages":[{"sidebarTitle":"Overview","title":"Custom Token Exchange Flow","href":"/docs/get-started/authentication-and-authorization-flow/token-exchange-flow"},{"sidebarTitle":"Call Your API Using the Custom Token Exchange Flow","title":"Call Your API Using the Custom Token Exchange Flow","href":"/docs/get-started/authentication-and-authorization-flow/token-exchange-flow/call-your-api-using-the-custom-token-exchange-flow"}]},{"group":"Device Authorization Flow","pages":[{"sidebarTitle":"Overview","title":"Device Authorization Flow","href":"/docs/get-started/authentication-and-authorization-flow/device-authorization-flow"},{"title":"Call Your API Using the Device Authorization Flow","href":"/docs/get-started/authentication-and-authorization-flow/device-authorization-flow/call-your-api-using-the-device-authorization-flow"}]},{"group":"Implicit Flow with Form Post","pages":[{"sidebarTitle":"Overview","title":"Implicit Flow with Form Post","href":"/docs/get-started/authentication-and-authorization-flow/implicit-flow-with-form-post"},{"title":"Mitigate Replay Attacks When Using the Implicit Flow","href":"/docs/get-started/authentication-and-authorization-flow/implicit-flow-with-form-post/mitigate-replay-attacks-when-using-the-implicit-flow"},{"title":"Add Login Using the Implicit Flow with Form Post","href":"/docs/get-started/authentication-and-authorization-flow/implicit-flow-with-form-post/add-login-using-the-implicit-flow-with-form-post"}]},{"group":"Hybrid Flow","pages":[{"sidebarTitle":"Overview","title":"Hybrid Flow","href":"/docs/get-started/authentication-and-authorization-flow/hybrid-flow"},{"title":"Call Your API Using the Hybrid Flow","href":"/docs/get-started/authentication-and-authorization-flow/hybrid-flow/call-api-hybrid-flow"}]},{"group":"Resource Owner Password Flow","pages":[{"sidebarTitle":"Overview","title":"Resource Owner Password Flow","href":"/docs/get-started/authentication-and-authorization-flow/resource-owner-password-flow"},{"title":"Call Your API Using Resource Owner Password Flow","href":"/docs/get-started/authentication-and-authorization-flow/resource-owner-password-flow/call-your-api-using-resource-owner-password-flow"},{"title":"Avoid Common Issues with Resource Owner Password Flow and Attack Protection","href":"/docs/get-started/authentication-and-authorization-flow/resource-owner-password-flow/avoid-common-issues-with-resource-owner-password-flow-and-attack-protection"}]},{"title":"Authenticate with Private Key JWT","href":"/docs/get-started/authentication-and-authorization-flow/authenticate-with-private-key-jwt"},{"title":"Authenticate with mTLS","href":"/docs/get-started/authentication-and-authorization-flow/authenticate-with-mtls"},{"title":"Client Credentials Exchange","href":"/docs/get-started/authentication-and-authorization-flow/client-credentials-exchange"}]},{"group":"Architecture Scenarios","root":{"title":"Architecture Scenarios","href":"/docs/get-started/architecture-scenarios"},"pages":[{"group":"Business Use Case Planning Guides","pages":[{"group":"Business to Consumer","root":{"title":"Business to Consumer Architecture Scenarios","sidebarTitle":"Business to Consumer","href":"/docs/get-started/architecture-scenarios/business-to-consumer"},"pages":[{"title":"Business-to-Consumer Architecture","sidebarTitle":"Architecture","href":"/docs/get-started/architecture-scenarios/business-to-consumer/architecture"},{"title":"Business-to-Consumer Provisioning","sidebarTitle":"Provisioning","href":"/docs/get-started/architecture-scenarios/business-to-consumer/provisioning"},{"title":"Business-to-Consumer Authentication","sidebarTitle":"Authentication","href":"/docs/get-started/architecture-scenarios/business-to-consumer/authentication"},{"title":"Business-to-Consumer Branding","sidebarTitle":"Branding","href":"/docs/get-started/architecture-scenarios/business-to-consumer/branding"},{"title":"Business-to-Consumer Deployment Automation","sidebarTitle":"Deployment Automation","href":"/docs/get-started/architecture-scenarios/business-to-consumer/deployment"},{"title":"Business-to-Consumer Quality Assurance","sidebarTitle":"Quality Assurance","href":"/docs/get-started/architecture-scenarios/business-to-consumer/quality-assurance"},{"title":"Business-to-Consumer Profile Management","sidebarTitle":"Profile Management","href":"/docs/get-started/architecture-scenarios/business-to-consumer/profile-management"},{"title":"Business-to-Consumer Authorization","sidebarTitle":"Authorization","href":"/docs/get-started/architecture-scenarios/business-to-consumer/authorization"},{"title":"Business-to-Consumer Logout","sidebarTitle":"Logout","href":"/docs/get-started/architecture-scenarios/business-to-consumer/logout"},{"title":"Business-to-Consumer Operations","sidebarTitle":"Operations","href":"/docs/get-started/architecture-scenarios/business-to-consumer/operations"},{"group":"Launch Preparation","root":{"title":"Business-to-Consumer Launch Preparation","sidebarTitle":"Launch Preparation","href":"/docs/get-started/architecture-scenarios/business-to-consumer/launch"},"pages":[{"title":"Business-to-Consumer Tenant Check","sidebarTitle":"Tenant Check","href":"/docs/get-started/architecture-scenarios/business-to-consumer/launch/tenant-check"},{"title":"Business-to-Consumer Testing Complete","sidebarTitle":"Testing Complete","href":"/docs/get-started/architecture-scenarios/business-to-consumer/launch/testing"},{"title":"Business-to-Consumer Operations Readiness","sidebarTitle":"Operations Readiness","href":"/docs/get-started/architecture-scenarios/business-to-consumer/launch/operations-readiness"},{"title":"Business-to-Consumer Compliance Readiness","sidebarTitle":"Compliance Readiness","href":"/docs/get-started/architecture-scenarios/business-to-consumer/launch/compliance-readiness"},{"title":"Business-to-Consumer Support Readiness","sidebarTitle":"Support Readiness","href":"/docs/get-started/architecture-scenarios/business-to-consumer/launch/support-readiness"},{"title":"Business-to-Consumer Launch Day Preparation","sidebarTitle":"Launch Day Preparation","href":"/docs/get-started/architecture-scenarios/business-to-consumer/launch/launch-day"}]}]},{"group":"Business to Business","root":{"title":"Business to Business Architecture Scenarios","sidebarTitle":"Business to Business","href":"/docs/get-started/architecture-scenarios/business-to-business"},"pages":[{"title":"Business-to-Business Architecture","sidebarTitle":"Architecture","href":"/docs/get-started/architecture-scenarios/business-to-business/architecture"},{"title":"Business-to-Business Provisioning","sidebarTitle":"Provisioning","href":"/docs/get-started/architecture-scenarios/business-to-business/provisioning"},{"title":"Business-to-Business Authentication","sidebarTitle":"Authentication","href":"/docs/get-started/architecture-scenarios/business-to-business/authentication"},{"title":"Business-to-Business Branding","sidebarTitle":"Branding","href":"/docs/get-started/architecture-scenarios/business-to-business/branding"},{"title":"Business-to-Business Deployment Automation","sidebarTitle":"Deployment Automation","href":"/docs/get-started/architecture-scenarios/business-to-business/deployment"},{"title":"Business-to-Business Quality Assurance","sidebarTitle":"Quality Assurance","href":"/docs/get-started/architecture-scenarios/business-to-business/quality-assurance"},{"title":"Business-to-Business Profile Management","sidebarTitle":"Profile Management","href":"/docs/get-started/architecture-scenarios/business-to-business/profile-management"},{"title":"Business-to-Business Authorization","sidebarTitle":"Authorization","href":"/docs/get-started/architecture-scenarios/business-to-business/authorization"},{"title":"Business-to-Business Logout","sidebarTitle":"Logout","href":"/docs/get-started/architecture-scenarios/business-to-business/logout"},{"title":"Business-to-Business Operations","sidebarTitle":"Operations","href":"/docs/get-started/architecture-scenarios/business-to-business/operations"},{"group":"Launch Preparation (B2B)","root":{"title":"Business-to-Business Launch Preparation","href":"/docs/get-started/architecture-scenarios/business-to-business/launch"},"pages":[{"title":"Tenant Check (B2B)","href":"/docs/get-started/architecture-scenarios/business-to-business/launch/tenant-check"},{"title":"Testing Complete (B2B)","href":"/docs/get-started/architecture-scenarios/business-to-business/launch/testing"},{"title":"Operations Readiness (B2B)","href":"/docs/get-started/architecture-scenarios/business-to-business/launch/operations-readiness"},{"title":"Compliance Readiness (B2B)","href":"/docs/get-started/architecture-scenarios/business-to-business/launch/compliance-readiness"},{"title":"Support Readiness (B2B)","href":"/docs/get-started/architecture-scenarios/business-to-business/launch/support-readiness"},{"title":"Launch Day Preparation (B2B)","href":"/docs/get-started/architecture-scenarios/business-to-business/launch/launch-day"}]}]},{"title":"Business to Employees","href":"/docs/get-started/architecture-scenarios/b2e"}]},{"group":"Application Architecture","pages":[{"group":"Multiple Organization Architecture","root":{"title":"Multiple Organization Architecture","href":"/docs/get-started/architecture-scenarios/multiple-organization-architecture"},"pages":[{"group":"Single Identity Provider Organizations","root":{"sidebarTitle":"Overview","title":"Single Identity Provider Organizations","href":"/docs/get-started/architecture-scenarios/multiple-organization-architecture/single-identity-provider-organizations"},"pages":[{"title":"Single Identity Provider: Provisioning","href":"/docs/get-started/architecture-scenarios/multiple-organization-architecture/single-identity-provider-organizations/provisioning"},{"title":"Single Identity Provider: Authentication","href":"/docs/get-started/architecture-scenarios/multiple-organization-architecture/single-identity-provider-organizations/authentication"},{"title":"Single Identity Provider: Branding","href":"/docs/get-started/architecture-scenarios/multiple-organization-architecture/single-identity-provider-organizations/branding"},{"title":"Single Identity Provider: Authorization","href":"/docs/get-started/architecture-scenarios/multiple-organization-architecture/single-identity-provider-organizations/authorization"},{"title":"Single Identity Provider: Profile Management","href":"/docs/get-started/architecture-scenarios/multiple-organization-architecture/single-identity-provider-organizations/profile-management"},{"title":"Single Identity Provider: Logout","href":"/docs/get-started/architecture-scenarios/multiple-organization-architecture/single-identity-provider-organizations/logout"}]},{"title":"Multiple Identity Provider Organizations","href":"/docs/get-started/architecture-scenarios/multiple-organization-architecture/multiple-idp-orgs"}]},{"group":"SSO for Regular Web Apps","root":{"title":"Regular Web Applications with Single Sign-On","href":"/docs/get-started/architecture-scenarios/sso-for-regular-web-apps"},"pages":[{"title":"Solution Overview (Web Apps + SSO)","href":"/docs/get-started/architecture-scenarios/sso-for-regular-web-apps/part-1"},{"title":"Auth0 Configuration (Web Apps + SSO)","href":"/docs/get-started/architecture-scenarios/sso-for-regular-web-apps/part-2"},{"title":"Application Implementation (Web Apps + SSO)","href":"/docs/get-started/architecture-scenarios/sso-for-regular-web-apps/part-3"},{"title":"ASP.NET Core Implementation (Web Apps + SSO)","href":"/docs/get-started/architecture-scenarios/sso-for-regular-web-apps/implementation-aspnetcore"},{"title":"Conclusion (Web Apps + SSO)","href":"/docs/get-started/architecture-scenarios/sso-for-regular-web-apps/part-4"}]},{"group":"Server Application + API","root":{"title":"Server Applications with API","href":"/docs/get-started/architecture-scenarios/server-application-api"},"pages":[{"title":"Solution Overview (Server Apps + API)","href":"/docs/get-started/architecture-scenarios/server-application-api/part-1"},{"title":"Auth0 Configuration (Server Apps + API)","href":"/docs/get-started/architecture-scenarios/server-application-api/part-2"},{"title":"Application Implementation (Server Apps + API)","href":"/docs/get-started/architecture-scenarios/server-application-api/part-3"},{"title":"Server Apps + API: Node.js Implementation for the API","href":"/docs/get-started/architecture-scenarios/server-application-api/api-implementation-nodejs"},{"title":"Server Apps + API: Python Implementation for the Cron Job","href":"/docs/get-started/architecture-scenarios/server-application-api/cron-implementation-python"},{"title":"Conclusion (Server Apps + API)","href":"/docs/get-started/architecture-scenarios/server-application-api/part-4"}]},{"group":"SPA + API","root":{"title":"Single-Page Applications (SPA) with API","href":"/docs/get-started/architecture-scenarios/spa-api"},"pages":[{"title":"Solution Overview (SPAs + API)","href":"/docs/get-started/architecture-scenarios/spa-api/part-1"},{"title":"Auth0 Configuration (SPAs + API)","href":"/docs/get-started/architecture-scenarios/spa-api/part-2"},{"title":"API and SPA Configuration (SPAs + API)","href":"/docs/get-started/architecture-scenarios/spa-api/part-3"},{"title":"SPA Angular 2 Implementation (SPAs + API)","href":"/docs/get-started/architecture-scenarios/spa-api/spa-implementation-angular2"},{"title":"Node.js API Implementation (SPAs + API)","href":"/docs/get-started/architecture-scenarios/spa-api/api-implementation-nodejs"},{"title":"Conclusion (SPAs + API)","href":"/docs/get-started/architecture-scenarios/spa-api/part-4"}]},{"group":"Mobile + API","root":{"title":"Mobile Applications with API","href":"/docs/get-started/architecture-scenarios/mobile-api"},"pages":[{"title":"Solution Overview (Mobile Apps + API)","href":"/docs/get-started/architecture-scenarios/mobile-api/part-1"},{"title":"Auth0 Configuration (Mobile Apps + API)","href":"/docs/get-started/architecture-scenarios/mobile-api/part-2"},{"title":"API and Mobile Configuration (Mobile Apps + API)","href":"/docs/get-started/architecture-scenarios/mobile-api/part-3"},{"title":"Android Mobile Application Implementation (Mobile Apps + API)","href":"/docs/get-started/architecture-scenarios/mobile-api/mobile-implementation-android"},{"title":"Node.js API Implementation (Mobile Apps + API)","href":"/docs/get-started/architecture-scenarios/mobile-api/api-implementation-nodejs"},{"title":"Conclusion (Mobile Apps + API)","href":"/docs/get-started/architecture-scenarios/mobile-api/part-4"}]}]},{"group":"Implementation Help","pages":[{"title":"Implementation Planning Checklists","sidebarTitle":"Checklists","href":"/docs/get-started/architecture-scenarios/checklists"},{"title":"Implementation Resources","sidebarTitle":"Resources","href":"/docs/get-started/architecture-scenarios/implementation-resources"}]}]}]},{"group":"Quickstarts","pages":[{"title":"Auth0 Quickstarts","sidebarTitle":"Quickstarts","href":"/docs/quickstarts"},{"group":"Single Page App","pages":[{"title":"Add Login to Your React Application","sidebarTitle":"React","mode":"wide","href":"/docs/quickstart/spa/react"},{"title":"Add Login to Your Angular Application","sidebarTitle":"Angular","mode":"wide","href":"/docs/quickstart/spa/angular"},{"mode":"wide","sidebarTitle":"JavaScript","title":"Add Login to Your JavaScript Application","href":"/docs/quickstart/spa/vanillajs"},{"mode":"wide","sidebarTitle":"Cap'n Web","title":"Add Login to Your Cap'n Web Application","href":"/docs/quickstart/spa/capn-web"},{"title":"Add Login to Your Vue Application","sidebarTitle":"Vue","mode":"wide","href":"/docs/quickstart/spa/vuejs"},{"mode":"wide","sidebarTitle":"Flutter (Web)","title":"Add Login to Your Flutter Web Application","href":"/docs/quickstart/spa/flutter"},{"mode":"wide","sidebarTitle":"Svelte","title":"Add Login to Your Svelte Application","href":"/docs/quickstart/spa/svelte"}]},{"group":"Regular Web App","pages":[{"title":"Add Login to Your Next.js Application","sidebarTitle":"Next.js","mode":"wide","href":"/docs/quickstart/webapp/nextjs"},{"title":"Add Login to Your TanStack Start Application","sidebarTitle":"TanStack Start React","mode":"wide","href":"/docs/quickstart/webapp/tanstack-start"},{"title":"Add Login to Your React Router Application","sidebarTitle":"React Router","mode":"wide","href":"/docs/quickstart/webapp/react-router"},{"title":"Add Login to Your Nuxt.js Application","sidebarTitle":"Nuxt.js","mode":"wide","href":"/docs/quickstart/webapp/nuxt"},{"mode":"wide","sidebarTitle":"Express","title":"Add Login to Your Express Application","href":"/docs/quickstart/webapp/express"},{"mode":"wide","title":"Add Login to Your Express Application","sidebarTitle":"Express (Beta)","href":"/docs/quickstart/webapp/express-beta"},{"title":"Add Login to Your Fastify Application","sidebarTitle":"Fastify","mode":"wide","href":"/docs/quickstart/webapp/fastify"},{"mode":"wide","sidebarTitle":"Flask","title":"Add Login to Your Flask Application","href":"/docs/quickstart/webapp/python"},{"mode":"wide","sidebarTitle":"Django","title":"Add Login to your Django Application","href":"/docs/quickstart/webapp/django/interactive"},{"mode":"wide","sidebarTitle":"FastAPI","title":"Add Login to Your FastAPI Application","href":"/docs/quickstart/webapp/fastapi"},{"mode":"wide","sidebarTitle":"Go","title":"Add Login to Your Go Application","href":"/docs/quickstart/webapp/golang"},{"mode":"wide","sidebarTitle":"Java","title":"Add Login to Your Java Servlet Application","href":"/docs/quickstart/webapp/java"},{"mode":"wide","sidebarTitle":"Java EE","title":"Add Login to Your Java EE Application","href":"/docs/quickstart/webapp/java-ee"},{"title":"Java Spring Boot","href":"/docs/quickstart/webapp/java-spring-boot"},{"mode":"wide","sidebarTitle":"Blazor Server","title":"Add Login to Your Blazor Server Application","href":"/docs/quickstart/webapp/aspnet-core-blazor-server"},{"mode":"wide","sidebarTitle":"ASP.NET Core MVC","title":"Add Login to Your ASP.NET MVC Application","href":"/docs/quickstart/webapp/aspnet-core"},{"title":"Add Login to Your Laravel Application","sidebarTitle":"Laravel","mode":"wide","href":"/docs/quickstart/webapp/laravel/interactive"},{"mode":"wide","sidebarTitle":"PHP","title":"Add Login to Your PHP Application","href":"/docs/quickstart/webapp/php/interactive"},{"mode":"wide","title":"NGINX Plus","href":"/docs/quickstart/webapp/nginx-plus/interactive"},{"mode":"wide","sidebarTitle":"Apache","title":"Add Login to Your Apache Application","href":"/docs/quickstart/webapp/apache/index"},{"mode":"wide","sidebarTitle":"Ruby on Rails","title":"Add Login to Your Ruby on Rails Application","href":"/docs/quickstart/webapp/rails/interactive"},{"title":"Add Login to Your Hono Application","mode":"wide","sidebarTitle":"Hono","href":"/docs/quickstart/webapp/hono"},{"title":"Add Login to Your ASP.NET OWIN Application","sidebarTitle":"ASP.NET OWIN","href":"/docs/quickstart/webapp/aspnet-owin"}]},{"group":"Native/Mobile App","pages":[{"title":"Add Login to Your iOS or macOS Application using the Auth0.swift SDK","sidebarTitle":"iOS / macOS","mode":"wide","href":"/docs/quickstart/native/ios-swift"},{"title":"Add Login to Your Android Application using the Auth0.Android SDK","sidebarTitle":"Android","mode":"wide","href":"/docs/quickstart/native/android"},{"mode":"wide","sidebarTitle":"Android Facebook Login","title":"Add Native Facebook Login to Your Android Application","href":"/docs/quickstart/native/android-facebook-login"},{"mode":"wide","sidebarTitle":"iOS Facebook Login","title":"Add Native Facebook Login to Your iOS Application","href":"/docs/quickstart/native/ios-swift-facebook-login"},{"title":"Add Login to Your React Native Application","sidebarTitle":"React Native","mode":"wide","href":"/docs/quickstart/native/react-native"},{"title":"Add Login to Your Expo Application","sidebarTitle":"Expo","mode":"wide","href":"/docs/quickstart/native/react-native-expo"},{"title":"Add Login to Your Flutter Application","sidebarTitle":"Flutter","mode":"wide","href":"/docs/quickstart/native/flutter"},{"title":"Add Login to Your Flutter Windows Application","sidebarTitle":"Flutter Windows","mode":"wide","href":"/docs/quickstart/native/flutter-windows"},{"title":"Add Login to Your Kotlin Multiplatform Application using the Auth0 Kotlin Multiplatform SDK","sidebarTitle":"Kotlin Multiplatform","mode":"wide","href":"/docs/quickstart/native/kotlin-multiplatform"},{"mode":"wide","sidebarTitle":".NET Android \u0026 iOS","title":"Add Login to Your .NET Android \u0026 iOS Application","href":"/docs/quickstart/native/net-android-ios/index"},{"title":"Add login to your .NET MAUI application","sidebarTitle":"MAUI","mode":"wide","href":"/docs/quickstart/native/maui"},{"title":"Add Login to Your Ionic Angular with Capacitor Application","sidebarTitle":"Ionic \u0026 Capacitor (Angular)","mode":"wide","href":"/docs/quickstart/native/ionic-angular"},{"title":"Add Login to Your Ionic React with Capacitor Application","sidebarTitle":"Ionic \u0026 Capacitor (React)","mode":"wide","href":"/docs/quickstart/native/ionic-react"},{"title":"Add Login to Your Ionic Vue with Capacitor Application","sidebarTitle":"Ionic \u0026 Capacitor (Vue)","mode":"wide","href":"/docs/quickstart/native/ionic-vue"},{"mode":"wide","sidebarTitle":"UWP","title":"Add login to your UWP application","href":"/docs/quickstart/native/windows-uwp-csharp"},{"mode":"wide","title":"Device Authorization Flow","href":"/docs/quickstart/native/device/interactive"},{"mode":"wide","title":"Add Login to Your WPF or WinForms Application","sidebarTitle":"WPF / WinForms","href":"/docs/quickstart/native/wpf-winforms"}]},{"group":"Backend/API","pages":[{"title":"Protect Your Express.js API","sidebarTitle":"Express API","mode":"wide","href":"/docs/quickstart/backend/nodejs"},{"mode":"wide","title":"Protect Your Express.js API","sidebarTitle":"Express API (Beta)","href":"/docs/quickstart/backend/express-api-beta"},{"mode":"wide","sidebarTitle":"Fastify API","title":"Protect Your Fastify API","href":"/docs/quickstart/backend/fastify/index"},{"mode":"wide","sidebarTitle":"Django API","title":"Add Authorization to Your Django API Application","href":"/docs/quickstart/backend/django/interactive"},{"title":"Flask API","href":"/docs/quickstart/backend/python/index"},{"mode":"wide","sidebarTitle":"FastAPI API","title":"FastAPI API","href":"/docs/quickstart/backend/fastapi"},{"title":"Java Springboot API","href":"/docs/quickstart/backend/java-spring-security5"},{"title":"Protect Your Go API","sidebarTitle":"Go API","mode":"wide","href":"/docs/quickstart/backend/golang"},{"mode":"wide","title":"ASP.NET Core Web API","href":"/docs/quickstart/backend/aspnet-core-webapi"},{"mode":"wide","title":"ASP.NET Web API (OWIN): Authorization","sidebarTitle":"ASP.NET Web API (OWIN)","href":"/docs/quickstart/backend/webapi-owin"},{"mode":"wide","sidebarTitle":"Laravel API","title":"Add Authorization to Your Laravel Application","href":"/docs/quickstart/backend/laravel/interactive"},{"mode":"wide","sidebarTitle":"PHP API","title":"Add Authorization to Your PHP Application","href":"/docs/quickstart/backend/php/interactive"},{"mode":"wide","sidebarTitle":"Ruby on Rails API","title":"Add Authorization to Your Ruby on Rails API","href":"/docs/quickstart/backend/rails/interactive"}]}]},{"group":"AI Tools","root":{"title":"AI Tools","href":"/docs/get-started/ai-tools"},"expanded":true,"directory":"accordion","pages":[{"title":"Agent Skills for Auth0","href":"/docs/quickstart/agent-skills"},{"group":"Auth0 Model Context Protocol (MCP) Server","pages":[{"title":"Getting Started with Auth0 Model Context Protocol (MCP) Server","sidebarTitle":"Getting Started","href":"/docs/get-started/auth0-mcp-server/getting-started-with-auth0-mcp-server"},{"group":"Guides","root":{"sidebarTitle":"Overview","title":"Auth0 Model Context Protocol (MCP) Server Guides","href":"/docs/get-started/auth0-mcp-server/auth0-mcp-server-guides"},"pages":[{"title":"Streamline API Authorization Flows with Auth0 Model Context Protocol (MCP) Server","sidebarTitle":"Streamline API Authorization Flows","href":"/docs/get-started/auth0-mcp-server/auth0-mcp-server-guides/streamline-api-authorization-flows-with-auth0-model-context-protocol-mcp"},{"title":"Implement Advanced Security Monitoring with Auth0 Model Context Protocol (MCP) Server","sidebarTitle":"Implement Advanced Security Monitoring","href":"/docs/get-started/auth0-mcp-server/auth0-mcp-server-guides/implement-advanced-security-monitoring-with-auth0-model-context-protocol-mcp"},{"title":"Understanding Scopes","href":"/docs/get-started/auth0-mcp-server/auth0-mcp-server-guides/understanding-scopes"}]},{"title":"Auth0 Model Context Protocol (MCP) Server Tools Reference","sidebarTitle":"Tools Reference","href":"/docs/get-started/auth0-mcp-server/auth0-mcp-tools-reference"}]},{"title":"Auth0 Agent Experience Score","href":"/docs/get-started/auth0-agent-experience"},{"title":"AI Doc Tools","href":"/docs/get-started/build-with-ai-tools"},{"title":"Auth0 Guide","href":"/docs/get-started/auth0-guide"}]},{"group":"Auth0 Configuration","root":{"sidebarTitle":"Overview","title":"Auth0 Overview","href":"/docs/get-started/auth0-overview"},"expanded":true,"directory":"accordion","pages":[{"group":"Auth0 Dashboard","root":{"title":"Auth0 Dashboard","href":"/docs/get-started/auth0-overview/dashboard"},"pages":[{"title":"Navigate Auth0 Dashboard","sidebarTitle":"Navigate Auth0 Dashboard","href":"/docs/get-started/auth0-overview/dashboard/use-dashboard-navigation"},{"title":"About the Activity Page","href":"/docs/get-started/auth0-overview/dashboard/activity"},{"title":"Search Capabilities in Auth0 Dashboard","href":"/docs/get-started/auth0-overview/dashboard/search-and-filter-auth0-dashboard"},{"group":"Manage Dashboard Access","root":{"title":"Manage Dashboard Access","href":"/docs/get-started/manage-dashboard-access"},"pages":[{"title":"Dashboard Access by Role","href":"/docs/get-started/manage-dashboard-access/feature-access-by-role"},{"title":"Add Tenant Members","href":"/docs/get-started/manage-dashboard-access/add-dashboard-users"},{"title":"Edit Tenant Members","href":"/docs/get-started/manage-dashboard-access/edit-dashboard-users"},{"title":"Remove Tenant Members","href":"/docs/get-started/manage-dashboard-access/remove-dashboard-users"},{"title":"Update Dashboard User Email Addresses","href":"/docs/get-started/manage-dashboard-access/update-dashboard-user-email"},{"group":"Multi-factor authentication for Dashboard users","pages":[{"title":"Multi-Factor Authentication for Dashboard Users","href":"/docs/get-started/manage-dashboard-access/add-change-remove-mfa"},{"title":"Add Multi-Factor Authentication for Auth0 Dashboard Access","href":"/docs/get-started/manage-dashboard-access/add-change-remove-mfa/add-mfa"},{"title":"Remove or Change Dashboard Multi-Factor Authentication","href":"/docs/get-started/manage-dashboard-access/add-change-remove-mfa/remove-or-change-dashboard-multi-factor-authentication"}]},{"title":"Configure Single Sign-on for Auth0 Dashboard","href":"/docs/get-started/manage-dashboard-access/configure-single-sign-on-for-auth0-dashboard"}]},{"title":"Auth0 Dashboard Login Session Management","href":"/docs/get-started/dashboard-profile/auth0-dashboard-login-session-management"},{"title":"Light and Dark Themes","href":"/docs/get-started/dashboard-profile/light-and-dark-themes"}]},{"group":"Tenants","root":{"title":"Auth0 Tenants","href":"/docs/get-started/auth0-overview/create-tenants"},"pages":[{"title":"Create Multiple Tenants","href":"/docs/get-started/auth0-overview/create-tenants/create-multiple-tenants"},{"title":"Link Multiple Tenants to a Single Subscription","href":"/docs/get-started/auth0-overview/create-tenants/child-tenants"},{"title":"Set Up Multiple Environments","href":"/docs/get-started/auth0-overview/create-tenants/set-up-multiple-environments"},{"title":"Multi-Tenant Applications Best Practices","href":"/docs/get-started/auth0-overview/create-tenants/multi-tenant-apps-best-practices"},{"group":"Tenant Settings","root":{"sidebarTitle":"Overview","title":"Tenant Settings","href":"/docs/get-started/tenant-settings"},"pages":[{"group":"Signing Keys","pages":[{"title":"Signing Keys","sidebarTitle":"Overview","href":"/docs/get-started/tenant-settings/signing-keys"},{"title":"Rotate Signing Keys","href":"/docs/get-started/tenant-settings/signing-keys/rotate-signing-keys"},{"title":"Revoke Signing Keys","href":"/docs/get-started/tenant-settings/signing-keys/revoke-signing-keys"},{"title":"View Signing Certificates","href":"/docs/get-started/tenant-settings/signing-keys/view-signing-certificates"},{"title":"Customer Provided Public Signing Keys","href":"/docs/get-started/tenant-settings/signing-keys/customer-signing-keys"}]},{"title":"Configure Device User Code Settings","href":"/docs/get-started/tenant-settings/configure-device-user-code-settings"},{"title":"Enable Single Sign-On for Tenants","href":"/docs/get-started/tenant-settings/enable-sso-for-legacy-tenants"},{"title":"Find Your Tenant Name or Tenant ID","href":"/docs/get-started/tenant-settings/find-your-tenant-name-or-tenant-id"}]}]},{"group":"APIs","root":{"title":"APIs","href":"/docs/get-started/apis"},"pages":[{"title":"Register APIs","href":"/docs/get-started/auth0-overview/set-up-apis"},{"title":"API Settings","href":"/docs/get-started/apis/api-settings"},{"title":"API Access Policies for Applications","href":"/docs/get-started/apis/api-access-policies-for-applications"},{"title":"Add API Permissions","href":"/docs/get-started/apis/add-api-permissions"},{"title":"Delete API Permissions","href":"/docs/get-started/apis/delete-api-permissions"},{"group":"Scopes","root":{"title":"Scopes","href":"/docs/get-started/apis/scopes"},"pages":[{"title":"API Scopes","href":"/docs/get-started/apis/scopes/api-scopes"},{"title":"OpenID Connect Scopes","href":"/docs/get-started/apis/scopes/openid-connect-scopes"},{"title":"Sample Use Cases: Scopes and Claims","href":"/docs/get-started/apis/scopes/sample-use-cases-scopes-and-claims"}]},{"title":"Configure Access Token Profile","href":"/docs/get-started/apis/configure-access-token-profile"},{"title":"Configure JSON Web Encryption (JWE)","href":"/docs/get-started/apis/configure-json-web-encryption"},{"title":"Configure Logical API for Multiple APIs","href":"/docs/get-started/apis/set-logical-api"},{"title":"Configure Rich Authorization Requests (RAR)","href":"/docs/get-started/apis/configure-rich-authorization-requests"},{"title":"Create Machine-to-Machine Applications for Testing","href":"/docs/get-started/apis/create-m2m-app-test"},{"title":"Enable Role-Based Access Control for APIs","href":"/docs/get-started/apis/enable-role-based-access-control-for-apis"}]},{"group":"Auth0 Teams","root":{"title":"Auth0 Teams","href":"/docs/get-started/auth0-teams"},"pages":[{"title":"Tenant Management","href":"/docs/get-started/auth0-teams/tenant-management"},{"title":"Team Member Management","href":"/docs/get-started/auth0-teams/team-member-management"},{"title":"Tenant Member Management","href":"/docs/get-started/auth0-teams/tenant-member-management"},{"title":"Configure Security Policies","href":"/docs/get-started/auth0-teams/configure-security-policies"},{"title":"Troubleshoot Teams","href":"/docs/get-started/auth0-teams/troubleshoot-teams"},{"title":"Team Activity","href":"/docs/get-started/auth0-teams/team-activity"},{"title":"About the Quarterly Snapshot","href":"/docs/get-started/auth0-teams/quarterly-snapshot"}]},{"group":"Deployment","root":{"title":"Deployment Options","href":"/docs/deploy-monitor/deployment-options"},"pages":[{"group":"Private Cloud Deployments","root":{"sidebarTitle":"Overview","title":"Private Cloud Deployments","href":"/docs/deploy-monitor/deploy-private-cloud"},"pages":[{"title":"Private Cloud on AWS","href":"/docs/deploy-monitor/deploy-private-cloud/private-cloud-on-aws"},{"title":"Private Cloud on Azure","href":"/docs/deploy-monitor/deploy-private-cloud/private-cloud-on-azure"},{"title":"Private Cloud Add-on Features","href":"/docs/deploy-monitor/deploy-private-cloud/private-cloud-add-on-features"}]},{"group":"Pre-Deployment Checks","root":{"sidebarTitle":"Overview","title":"Pre-Deployment Checks","href":"/docs/deploy-monitor/pre-deployment-checks"},"pages":[{"title":"Run Production Readiness Checks","href":"/docs/deploy-monitor/pre-deployment-checks/how-to-run-production-checks"},{"title":"Production Readiness Checks: Critical Fixes","href":"/docs/deploy-monitor/pre-deployment-checks/production-check-required-fixes"},{"title":"Production Readiness Checks: Non-Critical Fixes","href":"/docs/deploy-monitor/pre-deployment-checks/production-check-recommended-fixes"},{"title":"Production Readiness Checks: Best Practices","href":"/docs/deploy-monitor/pre-deployment-checks/production-checks-best-practices"},{"title":"Run Pre-Deployment Tests","href":"/docs/deploy-monitor/pre-deployment-checks/predeployment-tests"},{"title":"Pre-Launch Tips","href":"/docs/deploy-monitor/pre-deployment-checks/pre-launch-tips"}]},{"title":"Deployment Checklist","href":"/docs/deploy-monitor/deploy-checklist"},{"title":"Deployment Best Practices","href":"/docs/deploy-monitor/deployment-best-practices"}]},{"group":"B2B Connect - Enterprise","root":{"title":"B2B Connect - Enterprise","href":"/docs/get-started/b2b-connect-enterprise"},"pages":[{"title":"Configure AWS Cognito with Auth0 B2B Connect","href":"/docs/get-started/b2b-connect-enterprise/configure-aws-cognito"},{"title":"Configure Keycloak with Auth0 B2B Connect","href":"/docs/get-started/b2b-connect-enterprise/configure-keycloak"},{"title":"Configure Ory with Auth0 B2B Connect","href":"/docs/get-started/b2b-connect-enterprise/configure-ory"}]}]},{"group":"Applications","pages":[{"group":"Application Types","root":{"title":"Application Types on Auth0","href":"/docs/get-started/applications"},"pages":[{"title":"Confidential and Public Applications","sidebarTitle":"Confidential and Public","href":"/docs/get-started/applications/confidential-and-public-applications"},{"title":"First-Party and Third-Party Applications","href":"/docs/get-started/applications/first-party-and-third-party-applications"},{"title":"Application Profiles","href":"/docs/get-started/applications/application-profiles"}]},{"group":"Register Applications","root":{"title":"Create Applications","href":"/docs/get-started/auth0-overview/create-applications"},"pages":[{"group":"Client ID Metadata Document (CIMD) Registration","root":{"title":"Client ID Metadata Document (CIMD) Registration","href":"/docs/get-started/auth0-overview/create-applications/cimd-overview"},"pages":[{"title":"Register Applications with CIMD","href":"/docs/get-started/auth0-overview/create-applications/register-applications-with-cimd"},{"title":"CIMD Validation Rules","href":"/docs/get-started/auth0-overview/create-applications/cimd-validation-rules"}]},{"title":"Register Native Applications","href":"/docs/get-started/auth0-overview/create-applications/native-apps"},{"title":"Register Single-Page Web Applications","href":"/docs/get-started/auth0-overview/create-applications/single-page-web-apps"},{"title":"Register Regular Web Applications","href":"/docs/get-started/auth0-overview/create-applications/regular-web-apps"},{"title":"Register Machine-to-Machine Applications","href":"/docs/get-started/auth0-overview/create-applications/machine-to-machine-apps"},{"title":"Configure an Identity Provider in Access Gateway","href":"/docs/get-started/auth0-overview/create-applications/configure-an-identity-provider-in-access-gateway"},{"title":"Dynamic Client Registration","href":"/docs/get-started/applications/dynamic-client-registration"},{"title":"Remove Applications","href":"/docs/get-started/applications/remove-applications"}]},{"group":"Configure Applications","pages":[{"title":"Application Settings","href":"/docs/get-started/applications/application-settings"},{"title":"Credential Settings","href":"/docs/get-started/applications/credentials"},{"title":"Subdomain URL Placeholders","href":"/docs/get-started/applications/wildcards-for-subdomains"},{"title":"How to Configure Application (Client) Metadata","sidebarTitle":"Configure Metadata","href":"/docs/get-started/applications/configure-application-metadata"},{"group":"Third-Party Applications","root":{"title":"Third-Party Applications","href":"/docs/get-started/applications/third-party-applications"},"pages":[{"title":"Security Controls for Third-Party Applications","href":"/docs/get-started/applications/third-party-applications/security-controls"},{"title":"User Consent and Third-Party Applications","href":"/docs/get-started/applications/third-party-applications/user-consent-and-third-party-applications"},{"title":"Configure Third-Party Applications","href":"/docs/get-started/applications/third-party-applications/configure-third-party-applications"},{"title":"Troubleshoot Third-Party Applications","href":"/docs/get-started/applications/third-party-applications/troubleshooting"},{"title":"Permissive Mode for Third-Party Applications","href":"/docs/get-started/applications/third-party-applications/permissive-mode"}]}]},{"group":"Connections and Grant Types","pages":[{"title":"Set Up Database Connections","href":"/docs/get-started/applications/set-up-database-connections"},{"title":"Test Database Connections","href":"/docs/get-started/applications/test-database-connections"},{"title":"Update Application Connections","href":"/docs/get-started/applications/update-application-connections"},{"title":"Application Grant Types","href":"/docs/get-started/applications/application-grant-types"},{"title":"Update Grant Types","href":"/docs/get-started/applications/update-grant-types"},{"title":"Application Access to APIs: Client Grants","href":"/docs/get-started/applications/application-access-to-apis-client-grants"},{"title":"Revoke Access to APIs Using Application Grants","href":"/docs/get-started/applications/revoke-api-access"},{"title":"Enable Single Sign-On Integrations for Applications","href":"/docs/get-started/applications/enable-sso-for-applications"}]},{"group":"Security and Compliance","pages":[{"title":"Signing Algorithms","href":"/docs/get-started/applications/signing-algorithms"},{"title":"Change Application Signing Algorithms","href":"/docs/get-started/applications/change-application-signing-algorithms"},{"title":"Rotate Credentials","href":"/docs/get-started/applications/rotate-credentials"},{"title":"Rotate Client Secrets","href":"/docs/get-started/applications/rotate-client-secret"},{"group":"Configure FAPI Compliance","root":{"title":"Configure FAPI Compliance","href":"/docs/get-started/applications/configure-fapi-compliance"},"pages":[{"title":"Configure Auth0 to pass OpenID FAPI Certification Tests","href":"/docs/get-started/applications/configure-fapi-compliance/configure-auth0-to-pass-openid-fapi-certification-tests"}]},{"title":"Configure Pushed Authorization Requests (PAR)","href":"/docs/get-started/applications/configure-par"},{"title":"Configure JWT-secured Authorization Requests (JAR)","href":"/docs/get-started/applications/configure-jar"},{"group":"Configure mTLS Authentication","root":{"title":"Configure mTLS Authentication","href":"/docs/get-started/applications/configure-mtls"},"pages":[{"title":"Set up the Customer Edge","href":"/docs/get-started/applications/configure-mtls/set-up-the-customer-edge"},{"description":"Enable mTLS at the tenant level by configuring a custom domain and mTLS endpoint aliases to accept mutual TLS connections.","title":"Configure mTLS Authentication for a Tenant","href":"/docs/get-started/applications/configure-mtls/configure-mtls-for-a-tenant"},{"title":"Configure mTLS Authentication for a Client","href":"/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client"}]},{"description":"Describes how to configure new and existing applications to use Private Key JWT Authentication.","title":"Configure Private Key JWT Authentication","href":"/docs/get-started/applications/configure-private-key-jwt"},{"title":"Configure Client-Initiated Backchannel Authentication","href":"/docs/get-started/applications/configure-client-initiated-backchannel-authentication"}]},{"group":"Platform and Deployment","pages":[{"title":"Enable Android App Links Support","href":"/docs/get-started/applications/enable-android-app-links-support"},{"title":"Enable Universal Links Support in Apple Xcode","href":"/docs/get-started/applications/enable-universal-links-support-in-apple-xcode"},{"title":"Configure Cross-Origin Resource Sharing","href":"/docs/get-started/applications/set-up-cors"},{"title":"Configure Applications with OIDC Discovery","href":"/docs/get-started/applications/configure-applications-with-oidc-discovery"},{"title":"Configure WS-Fed Applications","href":"/docs/get-started/applications/configure-ws-fed-applications"},{"title":"Test Applications Locally","href":"/docs/get-started/applications/work-with-auth0-locally"}]}]}]},{"tab":"Authenticate","icon":"lock-keyhole","pages":[{"title":"Authenticate","href":"/docs/authenticate"}]},{"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.30.0","pages":[{"title":"auth0-spa-js","href":"/docs/sdk/auth0-spa-js/functions/createAuth0Client"}]},{"dropdown":"auth0-react","icon":"book-open","description":"version: v2.30.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/package-overview"}]},{"tab":"auth0-react","hidden":true,"pages":[{"title":"auth0-react","href":"/docs/sdk/auth0-react/package-overview"}]}]},{"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/get-started/applications/configure-mtls/configure-mtls-for-a-client"}]},{"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/get-started/applications/configure-mtls/configure-mtls-for-a-client"}]}]},"basePath":"","title":"Configure mTLS Authentication for a Client - Auth0 Docs","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":[],"chunks":[]}