{ "resultCode": "A124301", "resultMessage": "[A124301] The authorization request does not contain 'code_challenge' parameter. See RFC 7636 for details.", ...}
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Authlete Documentation","colors":{"primary":"#0057B7","light":"#4D8FEA","dark":"#0057B7"},"logo":{"light":"https://mintcdn.com/authlete/EJDZNZMvOu_9CJHJ/authlete-blue-horizontal-logo.svg?fit=max\u0026auto=format\u0026n=EJDZNZMvOu_9CJHJ\u0026q=85\u0026s=ed123a3de8b7791dffde03e7705c7460","dark":"https://mintcdn.com/authlete/EJDZNZMvOu_9CJHJ/authlete-blue-horizontal-logo.svg?fit=max\u0026auto=format\u0026n=EJDZNZMvOu_9CJHJ\u0026q=85\u0026s=ed123a3de8b7791dffde03e7705c7460"},"favicon":{"light":"https://mintcdn.com/authlete/gV1fxQkuH3uz_H3j/images/favicon-32x32.png?fit=max\u0026auto=format\u0026n=gV1fxQkuH3uz_H3j\u0026q=85\u0026s=9838a40b23e11ab35d7737e4c94a2d9a","dark":"https://mintcdn.com/authlete/gV1fxQkuH3uz_H3j/images/favicon-32x32.png?fit=max\u0026auto=format\u0026n=gV1fxQkuH3uz_H3j\u0026q=85\u0026s=9838a40b23e11ab35d7737e4c94a2d9a"},"api":{"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples","playground":{"display":"interactive","proxy":true},"examples":{"languages":["typescript","ruby","go","shell"],"autogenerate":true},"mdx":{"auth":{"method":"bearer"},"server":"https://us.authlete.com"}},"navbar":{"primary":{"type":"button","label":"Get Started","href":"https://console.authlete.com/"}},"footer":{"socials":{"x":"https://x.com/authlete","github":"https://github.com/authlete","linkedin":"https://linkedin.com/company/authlete"}},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor"],"display":"header"},"thumbnails":{"fonts":{"family":"Noto Sans JP"}},"markdown":{"instructions":["### Authlete versions","Authlete 3.0 is the current version. Unless the user says they use another version, answer for Authlete 3.0 using the 3.x documentation.","Documentation for Authlete 2.x (pages under `/v2/` and `/ja/v2/`) is for the legacy version. Refer to it only when the user is on Authlete 2.x.","","### Authlete architecture","Authlete is a backend engine for OAuth 2.0 and OpenID Connect processing. End users and client applications do not call it directly; the service provider's authorization server and API server call Authlete's APIs. Authlete handles protocol processing and token, client, and service management, while the service provider owns the OAuth/OIDC endpoints and user authentication.","See [Architecture](https://developers.authlete.com/get-started/introduction-to-authlete/architecture.md).","","### Concepts","If the user is new to Authlete, read these pages first:","- [Request and Response](https://developers.authlete.com/get-started/concepts/request-and-response.md): Core API requests pass the client's request parameters as-is, and responses return `resultCode`, `action`, and `responseContent`.","- [Action Handling](https://developers.authlete.com/get-started/concepts/action-handling.md): Branch on `action`, never on `resultCode`, and map each action to the HTTP response your server returns.","- [Two-Step API Calls](https://developers.authlete.com/get-started/concepts/two-step-api-calls.md): Actions such as `INTERACTION` are completed with a second call (`/auth/authorization/issue` or `/auth/authorization/fail`) linked by a `ticket`.","- [Management API Overview](https://developers.authlete.com/get-started/concepts/overview.md): The Management API configures services, manages clients, and operates issued tokens, separately from the protocol flows handled by the Core API.","- [API Authentication](https://developers.authlete.com/get-started/concepts/authentication.md): Authlete APIs use bearer tokens: a Service Access Token (one service) or an Organization Token (the whole organization)."]},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","default":true,"href":"get-started/introduction-to-authlete"},{"language":"ja","href":"ja/get-started/introduction-to-authlete"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"authlete","hasAudioNarration":false,"actualSubdomain":"authlete","customDomains":["developers.authlete.com"],"gitSource":{"type":"github","owner":"authlete","repo":"developer-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad86bfbbcc1b0bac5b9a633","collectionId":"102eb795-336b-4b91-aae6-f3939575b917","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad86bfbbcc1b0bac5b9a633"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad86bfbbcc1b0bac5b9a633","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"en","tag":"Release Notes","count":103},{"language":"ja","tag":"リリースノート","count":103},{"language":"ja","tag":"設定リファレンス","count":92},{"language":"default","tag":"API Reference","count":87},{"language":"default","tag":"Authlete","count":87},{"language":"en","tag":"Configuration Reference","count":83},{"language":"en","tag":"Protocols \u0026 Flows","count":46},{"language":"en","tag":"Deployment \u0026 Operations","count":44},{"language":"ja","tag":"プロトコル \u0026 フロー","count":42},{"language":"ja","tag":"デプロイと運用","count":39},{"language":"ja","tag":"トークン \u0026 クレーム","count":38},{"language":"ja","tag":"はじめに","count":34},{"language":"ja","tag":"エンドポイント","count":33},{"language":"en","tag":"Get Started","count":32},{"language":"en","tag":"Tokens and Claims","count":28},{"language":"default","tag":"Client Management","count":26},{"language":"en","tag":"Endpoints","count":25},{"language":"en","tag":"Server Releases (v2.2)","count":23},{"language":"en","tag":"Server Releases (v2.3)","count":23},{"language":"ja","tag":"サーバーリリース (v2.2)","count":23},{"language":"ja","tag":"サーバーリリース (v2.3)","count":23},{"language":"en","tag":"Server Releases (v3.0)","count":20},{"language":"ja","tag":"サーバーリリース (v3.0)","count":20},{"language":"default","tag":"Verifiable Credential Issuer","count":11},{"language":"default","tag":"Service Management","count":6},{"language":"default","tag":"Authorization Endpoint","count":5},{"language":"default","tag":"Token Operations","count":5},{"language":"default","tag":"CIBA","count":4},{"language":"default","tag":"Dynamic Client Registration","count":4},{"language":"default","tag":"Hardware Security Key","count":4}],"searchSettings":{"maxResults":7}},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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}],"privacy":{"consentBanner":{"enabled":true}},"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#content-area,#navbar,#sidebar,[data-sidebar],body{background-image:none!important}.dynamic-curl-wrapper{width:100%;max-width:100%;min-width:0}.dynamic-curl-output{width:100%!important;max-width:100%!important;min-width:0!important}table[style*=tableLayout] td:last-child{overflow:hidden;min-width:0}table[style*=tableLayout] input{min-width:0}"}],"page":{"pagePath":"ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests","slug":"/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests","pageMetadata":{"title":"認可リクエストにおける PKCE 利用の強制化","description":"PKCE を利用するよう、クライアントに強制する設定を説明します。","href":"/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests"},"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: \"PKCE を利用するよう、クライアントに強制する設定を説明します。\"\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`,br:`br`,code:`code`,em:`em`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,OptimizedImage}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Authlete では、クライアントからの認可リクエストに関し、`,_jsx(_components.a,{href:`/ja/protocols-and-flows/protocol-extensions/proof-key-for-code-exchange-pkce`,children:_jsx(_components.strong,{children:`PKCE (RFC 7636)`})}),`\nの利用を強制できます。`]}),`\n`,_jsxs(_components.p,{children:[`この機能を有効化するためには、サービス編集 → 「認可」タブ → 「認可エンドポイント」セクション にある「`,_jsx(_components.strong,{children:`コード交換用証明キー (RFC 7636)`}),`」にて「要求する」を選択します。`,_jsx(_components.br,{}),`\n`,`既定値は「要求しない」になっています。`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/authlete/NmFoIJ4VSX_LOgob/img/kb/ja/oauth-and-openid-connect/pkce-rfc-7636/requiring-pkce_1.png?fit=max\u0026auto=format\u0026n=NmFoIJ4VSX_LOgob\u0026q=85\u0026s=40e36d5cbdf87c000678086517a6e122`,alt:`requiring-pkce_1`,\"data-og-width\":`906`,width:`906`,\"data-og-height\":`1202`,height:`1202`,\"data-path\":`img/kb/ja/oauth-and-openid-connect/pkce-rfc-7636/requiring-pkce_1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/authlete/NmFoIJ4VSX_LOgob/img/kb/ja/oauth-and-openid-connect/pkce-rfc-7636/requiring-pkce_1.png?w=280\u0026fit=max\u0026auto=format\u0026n=NmFoIJ4VSX_LOgob\u0026q=85\u0026s=4eb9d8fcbd0e08b8ce06130b7af45ae6 280w, https://mintcdn.com/authlete/NmFoIJ4VSX_LOgob/img/kb/ja/oauth-and-openid-connect/pkce-rfc-7636/requiring-pkce_1.png?w=560\u0026fit=max\u0026auto=format\u0026n=NmFoIJ4VSX_LOgob\u0026q=85\u0026s=98947f0fd0fa0a6181b47892a08212c4 560w, https://mintcdn.com/authlete/NmFoIJ4VSX_LOgob/img/kb/ja/oauth-and-openid-connect/pkce-rfc-7636/requiring-pkce_1.png?w=840\u0026fit=max\u0026auto=format\u0026n=NmFoIJ4VSX_LOgob\u0026q=85\u0026s=3edcad07d490c8a5e99362cf4a9d2552 840w, https://mintcdn.com/authlete/NmFoIJ4VSX_LOgob/img/kb/ja/oauth-and-openid-connect/pkce-rfc-7636/requiring-pkce_1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=NmFoIJ4VSX_LOgob\u0026q=85\u0026s=20dfa94960058df6e135318d14229a91 1100w, https://mintcdn.com/authlete/NmFoIJ4VSX_LOgob/img/kb/ja/oauth-and-openid-connect/pkce-rfc-7636/requiring-pkce_1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=NmFoIJ4VSX_LOgob\u0026q=85\u0026s=82a1de76a21831b280f0c1ed12d4252d 1650w, https://mintcdn.com/authlete/NmFoIJ4VSX_LOgob/img/kb/ja/oauth-and-openid-connect/pkce-rfc-7636/requiring-pkce_1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=NmFoIJ4VSX_LOgob\u0026q=85\u0026s=08d965cd98f389c8f049b39153034885 2500w`}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`「コード交換用証明キー (RFC 7636) 」の設定`})}),`\n`,_jsxs(_components.p,{children:[`「要求する」に設定された Authlete サービスでは、`,_jsx(_components.a,{href:`/api-reference/authorization-endpoint/process-authorization-request`,children:`/auth/authorization API`}),`\nにて、`,_jsx(_components.strong,{children:`code_challenge`}),` を含まない認可リクエストの処理を拒否します。以下は処理例です(一部折り返しています)。`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`リクエスト (code_challenge を含まない認可リクエストを parameters に指定)`}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,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:`4`,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:` -s`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` .../auth/authorization`}),_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:` -u`}),_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:` -H`}),_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:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{\"parameters\": \"redirect_uri=...\u0026response_type=code\u0026client_id=...\u0026scope=...\"}'`})]}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`レスポンス (code_challenge パラメーターが含まれていない旨を返却)`}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"resultCode\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"A124301\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"resultMessage\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"[A124301] The authorization request does not contain`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'code_challenge' parameter. See RFC 7636 for details.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:` ...`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\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":{"title":"認可リクエストにおける PKCE 利用の強制化","description":"PKCE を利用するよう、クライアントに強制する設定を説明します。","href":"/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/authlete/a07b398e9c8556ba/snippets/oauth-dynamic.js"],"subdomain":"authlete","siteName":"Authlete Documentation","title":"認可リクエストにおける PKCE 利用の強制化 - Authlete Documentation","navMaps":{"firstHrefInVersion":{"3.x":{"href":"/ja/configuration-reference/endpoints/handling-request-parameters","matchLevel":2},"2.x":{"href":"/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests","matchLevel":0}},"firstHrefInLanguage":{"en":{"href":"/get-started/introduction-to-authlete/index","matchLevel":4},"ja":{"href":"/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests","matchLevel":0}}},"lastModified":"2026-09-02T00:28:08.286Z","originalFileLocation":"ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests.mdx","locale":"ja"},"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=\"PKCE を利用するよう、クライアントに強制する設定を説明します。\">\u003cmeta data-mint-head name=\"application-name\" content=\"Authlete Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"認可リクエストにおける PKCE 利用の強制化 - Authlete Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"PKCE を利用するよう、クライアントに強制する設定を説明します。\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Authlete Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.authlete.com/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://authlete.mintlify.app/_mintlify/api/og/v2?division=%E8%AA%8D%E5%8F%AF+EP\u0026amp;title=%E8%AA%8D%E5%8F%AF%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B+PKCE+%E5%88%A9%E7%94%A8%E3%81%AE%E5%BC%B7%E5%88%B6%E5%8C%96\u0026amp;description=PKCE+%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B%E3%82%88%E3%81%86%E3%80%81%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%AB%E5%BC%B7%E5%88%B6%E3%81%99%E3%82%8B%E8%A8%AD%E5%AE%9A%E3%82%92%E8%AA%AC%E6%98%8E%E3%81%97%E3%81%BE%E3%81%99%E3%80%82\u0026amp;theme=9a33e57959880538f1449aa0\u0026amp;signature=f0e11a12db3138ae93f080b184fc08c9f09a12bd9d8a01f3c4af551ce489c345\">\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=\"認可リクエストにおける PKCE 利用の強制化 - Authlete Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"PKCE を利用するよう、クライアントに強制する設定を説明します。\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://authlete.mintlify.app/_mintlify/api/og/v2?division=%E8%AA%8D%E5%8F%AF+EP\u0026amp;title=%E8%AA%8D%E5%8F%AF%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B+PKCE+%E5%88%A9%E7%94%A8%E3%81%AE%E5%BC%B7%E5%88%B6%E5%8C%96\u0026amp;description=PKCE+%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B%E3%82%88%E3%81%86%E3%80%81%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%AB%E5%BC%B7%E5%88%B6%E3%81%99%E3%82%8B%E8%A8%AD%E5%AE%9A%E3%82%92%E8%AA%AC%E6%98%8E%E3%81%97%E3%81%BE%E3%81%99%E3%80%82\u0026amp;theme=9a33e57959880538f1449aa0\u0026amp;signature=f0e11a12db3138ae93f080b184fc08c9f09a12bd9d8a01f3c4af551ce489c345\">\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=\"/mintlify-assets/_mintlify/favicons/authlete/aQ4BxffFlrUzvna2/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Authlete Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0057B7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.authlete.com/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.authlete.com/#organization\",\"name\":\"Authlete Documentation\",\"url\":\"https://developers.authlete.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/authlete/EJDZNZMvOu_9CJHJ/authlete-blue-horizontal-logo.svg?fit=max\u0026auto=format\u0026n=EJDZNZMvOu_9CJHJ\u0026q=85\u0026s=ed123a3de8b7791dffde03e7705c7460\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.authlete.com#website\",\"name\":\"Authlete Documentation\",\"url\":\"https://developers.authlete.com\",\"publisher\":{\"@id\":\"https://developers.authlete.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.authlete.com/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests#webpage\",\"url\":\"https://developers.authlete.com/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests\",\"name\":\"認可リクエストにおける PKCE 利用の強制化\",\"description\":\"PKCE を利用するよう、クライアントに強制する設定を説明します。\",\"dateModified\":\"2026-09-02T00:28:08.286Z\",\"isPartOf\":{\"@id\":\"https://developers.authlete.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.authlete.com/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.authlete.com/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"エンドポイント\",\"item\":\"https://developers.authlete.com/ja/configuration-reference/endpoints/handling-request-parameters\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"認可 EP\",\"item\":\"https://developers.authlete.com/ja/configuration-reference/endpoints/implementing-an-authorization-endpoint-with-authlete\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"認可リクエストにおける PKCE 利用の強制化\",\"item\":\"https://developers.authlete.com/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developers.authlete.com/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests#article\",\"headline\":\"認可リクエストにおける PKCE 利用の強制化\",\"name\":\"認可リクエストにおける PKCE 利用の強制化\",\"description\":\"PKCE を利用するよう、クライアントに強制する設定を説明します。\",\"url\":\"https://developers.authlete.com/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests\",\"mainEntityOfPage\":{\"@id\":\"https://developers.authlete.com/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests#webpage\"},\"dateModified\":\"2026-09-02T00:28:08.286Z\",\"publisher\":{\"@id\":\"https://developers.authlete.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.authlete.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Authlete Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Authlete Documentation","nav":{"global":null,"languages":[{"language":"en","default":true,"pages":[{"title":"en","href":"/get-started/introduction-to-authlete"}]},{"language":"ja","versions":[{"version":"3.x","default":true,"pages":[{"title":"3.x","href":"/ja/configuration-reference/endpoints/handling-request-parameters"}]},{"version":"2.x","default":false,"tabs":[{"tab":"はじめに","pages":[{"title":"はじめに","href":"/ja/get-started/introduction-to-authlete/overview"}]},{"tab":"API リファレンス","pages":[{"title":"API リファレンス","href":"/ja/v2/api-reference"}]},{"tab":"プロトコル \u0026 フロー","pages":[{"title":"プロトコル \u0026 フロー","href":"/ja/v2/protocols-and-flows/grant-types/token-exchange"}]},{"tab":"設定リファレンス","groups":[{"group":"エンドポイント","pages":[{"group":"概要","pages":[{"title":"認可リクエストやトークンリクエストのパラメーターの取り扱い","sidebarTitle":"クライアントリクエスト内のパラメーターの取り扱い","href":"/ja/configuration-reference/endpoints/handling-request-parameters"},{"title":"Authlete API からのレスポンスの処理に関する基本的な考えかた","sidebarTitle":"Authlete API のレスポンスの取り扱い","href":"/ja/configuration-reference/endpoints/handling-responses-from-authlete-apis"}]},{"group":"認可 EP","pages":[{"title":"Authorization Endpoint (Impl)","sidebarTitle":"認可 EP の実装","href":"/ja/configuration-reference/endpoints/implementing-an-authorization-endpoint-with-authlete"},{"title":"Authorization Endpoint における ticket パラメーターの特性","sidebarTitle":"ticket パラメーターの取り扱い","href":"/ja/configuration-reference/endpoints/ticket-parameter-in-authorization-endpoint"},{"title":"There is no entity having the ticket specified... エラーの原因","sidebarTitle":"There is no entity having the ticket エラーの原因","href":"/ja/configuration-reference/endpoints/when-seeing-the-error-of-there-is-no-entity-having-the-ticket-specified"},{"title":"response_type に id_token が含まれている場合の注意点","description":"response_typeにid_tokenが含まれる際の注意点についての詳細説明。","href":"/ja/configuration-reference/endpoints/when-a-response-type-parameter-contains-id-token"},{"title":"認可リクエストにおける PKCE 利用の強制化","href":"/ja/v2/configuration-reference/endpoints/requiring-clients-to-use-pkce-for-their-authorization-requests"},{"title":"認可リクエストでの PKCE 利用における S256 指定の強制化","description":"コードチャレンジメソッドとして S256 を指定するよう、クライアントに強制する設定を説明します。","href":"/ja/v2/configuration-reference/endpoints/requiring-clients-to-specify-s256-when-using-pkce"},{"title":"リクエストオブジェクトの利用","href":"/ja/v2/configuration-reference/endpoints/using-request-objects"},{"title":"JWT Authorization Requests support on Authlete (JAR)","href":"/ja/configuration-reference/endpoints/jwt-secured-authorization-requests-jar"},{"title":"JARM の有効化","href":"/ja/configuration-reference/endpoints/enabling-jarm"}]},{"group":"トークン EP","pages":[{"title":"クライアント認証の設定","sidebarTitle":"クライアント認証の設定","href":"/ja/configuration-reference/endpoints/configuring-client-authentication"},{"title":"client_secret_jwt によるクライアント認証","sidebarTitle":"client_secret_jwt","href":"/ja/v2/configuration-reference/endpoints/client-authentication-using-client-secret-jwt-method"},{"title":"private_key_jwt によるクライアント認証","sidebarTitle":"private_key_jwt","href":"/ja/v2/configuration-reference/endpoints/client-authentication-using-private-key-jwt-method"},{"title":"tls_client_auth によるクライアント認証","sidebarTitle":"tls_client_auth","href":"/ja/v2/configuration-reference/endpoints/client-authentication-using-tls-client-auth-method"},{"title":"クライアント認証における制約の厳密化","href":"/ja/configuration-reference/endpoints/strict-checking-on-client-authentication-parameters"}]},{"group":"イントロスペクション EP","pages":[{"title":"2 種類のイントロスペクション API の使い分け","href":"/ja/configuration-reference/endpoints/use-cases-for-two-introspection-apis"},{"title":"期限切れのアクセストークンに関するイントロスペクションの挙動","href":"/ja/configuration-reference/endpoints/introspection-response-for-expired-access-token"},{"title":"アクセストークンのスコープの照会","href":"/ja/configuration-reference/endpoints/checking-if-an-access-token-has-particular-scopes"},{"title":"JWT Response for OAuth Token Introspection","href":"/ja/configuration-reference/endpoints/jwt-response-for-oauth-token-introspection"}]},{"group":"UserInfo EP","pages":[{"title":"UserInfo API レスポンスにおけるクレームの追加","href":"/ja/configuration-reference/endpoints/adding-custom-claims-to-userinfo-api-responses"},{"title":"UserInfo API におけるアクセストークン検証","href":"/ja/configuration-reference/endpoints/access-token-verification-in-userinfo-api"}]},{"group":"PAR EP","pages":[{"title":"Pushed Authorization Requests (PAR)","href":"/ja/v2/configuration-reference/endpoints/pushed-authorization-requests-par"}]},{"group":"デバイス認可 EP","pages":[{"title":"デバイスフローの有効化","href":"/ja/v2/configuration-reference/endpoints/enabling-device-flow"}]}]},{"group":"トークン \u0026 クレーム","pages":[{"group":"ライフサイクル \u0026 ポリシー","pages":[{"title":"トークンの有効期間の計算ロジック","href":"/ja/v2/configuration-reference/token-lifecycle-policies/how-to-calculate-token-duration"},{"title":"トークンの有効期間のスコープ単位での制御","href":"/ja/v2/configuration-reference/token-lifecycle-policies/token-duration-per-scope"},{"title":"トークンの有効期間のクライアント単位での制御","href":"/ja/v2/configuration-reference/token-lifecycle-policies/token-duration-per-client"},{"title":"変更した「トークンの有効期間」が適用されるタイミング","href":"/ja/v2/configuration-reference/token-lifecycle-policies/changing-token-durations"},{"title":"ユーザーがクライアントに付与した認可の取得・変更・取り消し","href":"/ja/configuration-reference/tokens-and-claims/managing-authorizations-issued-tokens-granted-for-a-client-by-a-user"},{"title":"発行済トークン情報の更新","href":"/ja/configuration-reference/tokens-and-claims/updating-issued-token-s"},{"title":"トークン無効化ポリシー","href":"/ja/configuration-reference/tokens-and-claims/token-revocation-policy"},{"title":"使用されていないトークンに関する Authlete の削除ポリシー","href":"/ja/configuration-reference/tokens-and-claims/authletes-policy-on-sweeping-unused-tokens"}]},{"group":"アクセストークン","pages":[{"title":"「JWT ベースのアクセストークン」の利用","href":"/ja/v2/configuration-reference/token-issuance-formats/jwt-based-access-token"},{"title":"アクセストークンの単一化","href":"/ja/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject"},{"title":"発行済のアクセストークン一覧を取得する方法","href":"/ja/configuration-reference/tokens-and-claims/getting-a-list-of-issued-access-tokens"},{"title":"ハイブリッドフローによる 2 つのアクセストークンの発行","href":"/ja/configuration-reference/tokens-and-claims/issuing-two-access-tokens-through-hybrid-flow"}]},{"group":"リフレッシュトークン","pages":[{"title":"リフレッシュトークンの継続利用設定","href":"/ja/v2/configuration-reference/tokens-and-claims/refresh-tokens-after-being-used"},{"title":"リフレッシュトークン発行の有効化","href":"/ja/v2/configuration-reference/token-lifecycle-policies/how-to-enable-refresh-token-grant-type"}]},{"group":"ID トークン","pages":[{"title":"IDトークンに追加する「クレーム」の判別","href":"/ja/configuration-reference/tokens-and-claims/identifying-claims-expected-to-be-included-into-an-id-token"},{"title":"ID トークンへのクレームの追加","href":"/ja/configuration-reference/tokens-and-claims/adding-claims-to-an-id-token"},{"title":"ID トークンのヘッダーへの独自クレーム追加","href":"/ja/configuration-reference/tokens-and-claims/custom-header-claims-in-id-tokens"},{"title":"ID トークンの署名鍵の変更","href":"/ja/v2/configuration-reference/openid-connect/changing-signing-key-for-id-token"},{"title":"暗号化した ID トークンの生成","href":"/ja/configuration-reference/tokens-and-claims/generating-encrypted-id-tokens"}]},{"group":"PoP (Proof-of-Possession) トークン","pages":[{"title":"DPoP の利用","href":"/ja/configuration-reference/tokens-and-claims/using-dpop"}]},{"group":"スコープ","pages":[{"title":"スコープ属性","href":"/ja/v2/configuration-reference/scopes-consent/scope-attributes"},{"title":"「パラメーター化されたスコープ」の利用","href":"/ja/configuration-reference/tokens-and-claims/using-parameterized-scopes"},{"title":"カスタムスコープの言語別説明文の登録","href":"/ja/configuration-reference/tokens-and-claims/registering-localized-descriptions-for-custom-scopes"},{"title":"エンドユーザーに認可するスコープを選択させる方法","href":"/ja/configuration-reference/tokens-and-claims/letting-resource-owners-choose-scopes-to-be-authorized"}]},{"group":"リソースインジケーター","pages":[{"title":"Resource Indicator","href":"/ja/configuration-reference/tokens-and-claims/resource-indicators"}]}]},{"group":"鍵管理","pages":[{"title":"Authlete サービスの JWK セット設定","href":"/ja/v2/configuration-reference/discovery-metadata/jwk-set-for-service"},{"title":"OAuth / OIDC クライアントの JWK セット設定","href":"/ja/v2/configuration-reference/discovery-metadata/jwk-set-for-client"}]},{"group":"メタデータ","pages":[{"title":"メタデータの公開","href":"/ja/configuration-reference/metadata/publishing-metadata"},{"title":"JWK セットの公開","href":"/ja/configuration-reference/metadata/publishing-a-jwk-set"}]},{"group":"エラー処理とデバッグ","pages":[{"title":"Authlete の result code について","href":"/ja/configuration-reference/error-handling-debugging/interpreting-authletes-result-codes"},{"title":"fail API を用いたエラーレスポンスの生成","href":"/ja/configuration-reference/error-handling-debugging/generating-error-response-using-fail-api"},{"title":"Flags Supported in Authlete","href":"/ja/configuration-reference/error-handling-debugging/flags-supported-in-authlete"}]},{"group":"セキュリティ","pages":[{"title":"ユーザー属性情報の提供方式と、各方式における Authlete の処理方法","href":"/ja/configuration-reference/security/how-to-provide-user-attributes"},{"title":"Audit Logs","href":"/ja/configuration-reference/security/audit-logs"}]},{"group":"クライアント管理","pages":[{"title":"クライアント属性","href":"/ja/configuration-reference/client-management/client-attributes"},{"title":"クライアント ID の「別名」の利用","href":"/ja/v2/configuration-reference/client-management/client-id-alias"},{"title":"ユーザーが認可しているクライアント一覧の取得","href":"/ja/configuration-reference/client-management/authletes-policy-on-managing-clients-which-have-been-authorized-by-user"},{"title":"クライアント削除時の発行済みトークンの取り扱い","href":"/ja/configuration-reference/client-management/token-management-policy-when-deleting-clients"}]},{"group":"サービス設定","pages":[{"title":"サービスの設定項目","href":"/ja/v2/configuration-reference/service-setup/service-settings"},{"title":"responseContent におけるエラー詳細出力の抑制","href":"/ja/v2/configuration-reference/service-setup/suppressing-error-details-in-responsecontent"}]}]},{"tab":"デプロイと運用","pages":[{"title":"デプロイと運用","href":"/ja/v2/deployment-and-operations/developer-console/overview"}]},{"tab":"リリースノート","pages":[{"title":"リリースノート","href":"/ja/release-notes/server-v2-3/2026-09"}]}]}]}]},"title":"認可リクエストにおける PKCE 利用の強制化 - Authlete Documentation","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-CaUwvYH3.js","lightbox-handle-r17bVUz3.js"]}