Technical information on enabling a single access token per subject in Authlete to ensure that only the newest access token is valid for each user.
This page is for Authlete 2.x. For current (3.0) documentation, see this page.
Authlete issues a new access token for each time when the same user grants authorization request from a client (i.e. authorization server calls Authlete’s POST /auth/authorization/issue API with the same “subject” value).By default, Authlete doesn’t invalidate access tokens that are related to the user and have been issued before. Thus the client eventually has multiple valid access tokens at the same time.In some environment, authorization server is required not to issue multiple valid access tokens in such a way. For Authlete to achieve this, it provides “Single Access Token Per Subject” option in Service Owner Console.\Single Access Token Per SubjectOnce enabled, Authlete invalidates previous access tokens and refresh tokens associated with them in conjunction with issuing a new access token. It ensures the newest access token is the only valid one.
{"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":"v2/configuration-reference/token-issuance-formats/single-access-token-per-subject","slug":"/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject","pageMetadata":{"title":"Enabling Single Access Token","description":"Technical information on enabling a single access token per subject in Authlete to ensure that only the newest access token is valid for each user.","href":"/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject"},"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: \"Technical information on enabling a single access token per subject in Authlete to ensure that only the newest access token is valid for each user.\"\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`,em:`em`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Note,OptimizedImage}=_components;if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);return _jsxs(_Fragment,{children:[_jsx(Note,{children:_jsxs(_components.p,{children:[`This page is for `,_jsx(_components.strong,{children:`Authlete 2.x`}),`. For current (3.0) documentation, see `,_jsx(_components.a,{href:`/configuration-reference/tokens-and-claims/enabling-single-access-token-per-subject`,children:`this page`}),`.`]})}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/authlete/VMCNat22v2IOj3-M/img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject.png?fit=max\u0026auto=format\u0026n=VMCNat22v2IOj3-M\u0026q=85\u0026s=d1053653579c93bdd5300cc6b2b063a7`,alt:`single-access-token-per-subject`,\"data-og-width\":`960`,width:`960`,\"data-og-height\":`541`,height:`541`,\"data-path\":`img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/authlete/VMCNat22v2IOj3-M/img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject.png?w=280\u0026fit=max\u0026auto=format\u0026n=VMCNat22v2IOj3-M\u0026q=85\u0026s=7ee7a84784774838ae08714d4c4eb247 280w, https://mintcdn.com/authlete/VMCNat22v2IOj3-M/img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject.png?w=560\u0026fit=max\u0026auto=format\u0026n=VMCNat22v2IOj3-M\u0026q=85\u0026s=2d7683076ba575eff71b2e977e441996 560w, https://mintcdn.com/authlete/VMCNat22v2IOj3-M/img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject.png?w=840\u0026fit=max\u0026auto=format\u0026n=VMCNat22v2IOj3-M\u0026q=85\u0026s=c4cee5fa8446c2d93c88201a06770ad2 840w, https://mintcdn.com/authlete/VMCNat22v2IOj3-M/img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject.png?w=1100\u0026fit=max\u0026auto=format\u0026n=VMCNat22v2IOj3-M\u0026q=85\u0026s=49c2fe6ace6c415d87fdcd1e0b21c978 1100w, https://mintcdn.com/authlete/VMCNat22v2IOj3-M/img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject.png?w=1650\u0026fit=max\u0026auto=format\u0026n=VMCNat22v2IOj3-M\u0026q=85\u0026s=2f91d6c8c8f2e0ad25a96122b308a383 1650w, https://mintcdn.com/authlete/VMCNat22v2IOj3-M/img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject.png?w=2500\u0026fit=max\u0026auto=format\u0026n=VMCNat22v2IOj3-M\u0026q=85\u0026s=291105faff91b4cdd0c325ab9cfafb6b 2500w`}),`\n`,_jsxs(_components.p,{children:[`Authlete issues a new access token for each time when the same user grants authorization request from a client (i.e. authorization server calls Authlete’s `,_jsx(_components.a,{href:`/api-reference/authorization-endpoint/issue-authorization-response`,children:`POST /auth/authorization/issue`}),` API with the same “subject” value).`]}),`\n`,_jsx(_components.p,{children:`By default, Authlete doesn’t invalidate access tokens that are related to the user and have been issued before. Thus the client eventually has multiple valid access tokens at the same time.`}),`\n`,_jsx(_components.p,{children:`In some environment, authorization server is required not to issue multiple valid access tokens in such a way. For Authlete to achieve this, it provides “Single Access Token Per Subject” option in Service Owner Console.\\\\`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/authlete/VMCNat22v2IOj3-M/img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject_1.png?fit=max\u0026auto=format\u0026n=VMCNat22v2IOj3-M\u0026q=85\u0026s=3760cf5eb06c3695acbb15a4b1c50da8`,alt:`single-access-token-per-subject_1`,\"data-og-width\":`556`,width:`556`,\"data-og-height\":`432`,height:`432`,\"data-path\":`img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject_1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/authlete/VMCNat22v2IOj3-M/img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject_1.png?w=280\u0026fit=max\u0026auto=format\u0026n=VMCNat22v2IOj3-M\u0026q=85\u0026s=61491bf051580ac1eccaa25634d26a43 280w, https://mintcdn.com/authlete/VMCNat22v2IOj3-M/img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject_1.png?w=560\u0026fit=max\u0026auto=format\u0026n=VMCNat22v2IOj3-M\u0026q=85\u0026s=0515d1c136da13cd282b13eeaffaea36 560w, https://mintcdn.com/authlete/VMCNat22v2IOj3-M/img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject_1.png?w=840\u0026fit=max\u0026auto=format\u0026n=VMCNat22v2IOj3-M\u0026q=85\u0026s=126f7d8c66ae1dbf0f808dbac189d522 840w, https://mintcdn.com/authlete/VMCNat22v2IOj3-M/img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject_1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=VMCNat22v2IOj3-M\u0026q=85\u0026s=bb47aae575dcba479c96993b511ce247 1100w, https://mintcdn.com/authlete/VMCNat22v2IOj3-M/img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject_1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=VMCNat22v2IOj3-M\u0026q=85\u0026s=72731660023419e373c54d48c1ad383d 1650w, https://mintcdn.com/authlete/VMCNat22v2IOj3-M/img/kb/en/oauth-and-openid-connect/access-tokens/single-access-token-per-subject_1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=VMCNat22v2IOj3-M\u0026q=85\u0026s=554feae0359809de7e40210c6a918d5b 2500w`}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Single Access Token Per Subject`})}),`\n`,_jsx(_components.p,{children:`Once enabled, Authlete invalidates previous access tokens and refresh tokens associated with them in conjunction with issuing a new access token. It ensures the newest access token is the only valid one.`})]})}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":"Enabling Single Access Token","description":"Technical information on enabling a single access token per subject in Authlete to ensure that only the newest access token is valid for each user.","href":"/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/authlete/a07b398e9c8556ba/snippets/oauth-dynamic.js"],"subdomain":"authlete","siteName":"Authlete Documentation","title":"Enabling Single Access Token - Authlete Documentation","navMaps":{"firstHrefInVersion":{"3.x":{"href":"/get-started/introduction-to-authlete/index","matchLevel":4},"2.x":{"href":"/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject","matchLevel":0}},"firstHrefInLanguage":{"en":{"href":"/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject","matchLevel":0},"ja":{"href":"/ja/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject","matchLevel":1}}},"lastModified":"2026-07-13T20:00:26.358Z","originalFileLocation":"v2/configuration-reference/token-issuance-formats/single-access-token-per-subject.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=\"Technical information on enabling a single access token per subject in Authlete to ensure that only the newest access token is valid for each user.\">\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=\"Enabling Single Access Token - Authlete Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Technical information on enabling a single access token per subject in Authlete to ensure that only the newest access token is valid for each user.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Authlete Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.authlete.com/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject\">\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=Access+Tokens\u0026amp;title=Enabling+Single+Access+Token\u0026amp;description=Technical+information+on+enabling+a+single+access+token+per+subject+in+Authlete+to+ensure+that+only+the+newest+access+token+is+valid+for+each+user.\u0026amp;theme=9a33e57959880538f1449aa0\u0026amp;signature=ad5be8a29db059c455568104d8cb522a1f51788c4410b3cf160d356f71ecc9bf\">\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=\"Enabling Single Access Token - Authlete Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Technical information on enabling a single access token per subject in Authlete to ensure that only the newest access token is valid for each user.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://authlete.mintlify.app/_mintlify/api/og/v2?division=Access+Tokens\u0026amp;title=Enabling+Single+Access+Token\u0026amp;description=Technical+information+on+enabling+a+single+access+token+per+subject+in+Authlete+to+ensure+that+only+the+newest+access+token+is+valid+for+each+user.\u0026amp;theme=9a33e57959880538f1449aa0\u0026amp;signature=ad5be8a29db059c455568104d8cb522a1f51788c4410b3cf160d356f71ecc9bf\">\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/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://developers.authlete.com/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://developers.authlete.com/ja/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://developers.authlete.com/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject\">\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/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject#webpage\",\"url\":\"https://developers.authlete.com/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject\",\"name\":\"Enabling Single Access Token\",\"description\":\"Technical information on enabling a single access token per subject in Authlete to ensure that only the newest access token is valid for each user.\",\"dateModified\":\"2026-07-13T20:00:26.358Z\",\"isPartOf\":{\"@id\":\"https://developers.authlete.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.authlete.com/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.authlete.com/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Authlete Documentation\",\"item\":\"https://developers.authlete.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Enabling Single Access Token\",\"item\":\"https://developers.authlete.com/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developers.authlete.com/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject#article\",\"headline\":\"Enabling Single Access Token\",\"name\":\"Enabling Single Access Token\",\"description\":\"Technical information on enabling a single access token per subject in Authlete to ensure that only the newest access token is valid for each user.\",\"url\":\"https://developers.authlete.com/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject\",\"mainEntityOfPage\":{\"@id\":\"https://developers.authlete.com/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject#webpage\"},\"dateModified\":\"2026-07-13T20:00:26.358Z\",\"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,"versions":[{"version":"3.x","default":true,"pages":[{"title":"3.x","href":"/get-started/introduction-to-authlete"}]},{"version":"2.x","default":false,"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/get-started/introduction-to-authlete/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/v2/api-reference"}]},{"tab":"Protocols \u0026 Flows","pages":[{"title":"Protocols \u0026 Flows","href":"/v2/configuration-reference/endpoints/enabling-device-flow"}]},{"tab":"Configuration Reference","groups":[{"group":"Service Setup","pages":[{"title":"Service Settings","href":"/v2/configuration-reference/service-setup/service-settings"},{"title":"Suppressing Error Details in responseContent","sidebarTitle":"Suppressing Error Details","href":"/v2/configuration-reference/service-setup/suppressing-error-details-in-responsecontent"}]},{"group":"Authorization Requests","pages":[{"title":"Requiring clients to specify S256 when using PKCE for their authorization requests","sidebarTitle":"Enforcing S256 (PKCE)","href":"/v2/configuration-reference/authorization-requests/requiring-s256"}]},{"group":"Client Management","pages":[{"title":"Client Attributes","href":"/v2/configuration-reference/client-management/client-attributes"},{"title":"Using Client ID Alias","href":"/v2/configuration-reference/client-management/client-id-alias"}]},{"group":"Scopes \u0026 Consent","pages":[{"title":"Scope Attributes","description":"This article provides information on scope attributes and how to create them available since Authlete 2.0.","href":"/v2/configuration-reference/scopes-consent/scope-attributes"}]},{"group":"Token Issuance \u0026 Formats","pages":[{"group":"Access Tokens","pages":[{"title":"Enabling Single Access Token","href":"/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject"},{"title":"Using JWT-based access tokens","description":"Guide on enabling the feature in Authlete to issue JWT-formatted access tokens and specifying additional claims available in Authlete 2.1 and later.","href":"/v2/configuration-reference/token-issuance-formats/jwt-based-access-token"}]}]},{"group":"OpenID Connect","pages":[{"title":"Changing signing key for ID tokens","href":"/v2/configuration-reference/openid-connect/changing-signing-key-for-id-token"}]},{"group":"Token Lifecycle \u0026 Policies","pages":[{"title":"How Authlete determines token duration","href":"/v2/configuration-reference/token-lifecycle-policies/how-to-calculate-token-duration"},{"title":"Token Duration Per Scope","href":"/v2/configuration-reference/token-lifecycle-policies/token-duration-per-scope"},{"title":"Token duration per client","href":"/v2/configuration-reference/token-lifecycle-policies/token-duration-per-client"},{"title":"Changing token duration","href":"/v2/configuration-reference/token-lifecycle-policies/changing-token-durations"},{"title":"Issuing Refresh Token","href":"/v2/configuration-reference/token-lifecycle-policies/how-to-enable-refresh-token-grant-type"}]},{"group":"Discovery \u0026 Metadata","pages":[{"title":"JWK set settings for an Authlete Service","href":"/v2/configuration-reference/discovery-metadata/jwk-set-for-service"},{"title":"JWK set settings for an OAuth / OIDC client","href":"/v2/configuration-reference/discovery-metadata/jwk-set-for-client"}]}]},{"tab":"Deployment \u0026 Operations","pages":[{"title":"Deployment \u0026 Operations","href":"/v2/deployment-and-operations/developer-console/overview"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes/server-v2-3/2026-09"}]}]}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/v2/configuration-reference/token-issuance-formats/single-access-token-per-subject"}]}]},"title":"Enabling Single Access Token - Authlete Documentation","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-CaUwvYH3.js","lightbox-handle-r17bVUz3.js"]}