{ "resultCode": "A501001", "resultMessage": "[A501001] A Native SSO-compliant ID token and a token response were generated successfully.", "action": "OK", "responseContent": "{\\\"access_token\\\":\\\"_kh1aygxZ5NKLYKCJRM8M_AYvDg2wCWoprQDjfO87ZWq\\\",\\\"token_type\\\":\\\"Bearer\\\",\\\"expires_in\\\":86400,\\\"scope\\\":\\\"openid device_sso\\\",\\\"refresh_token\\\":\\\"kHUGSt_d3LSgiCQzH7wa5TpwIHWgjAZGw14zZV7hRqw\\\",\\\"id_token\\\":\\\"eyJraWQiOiItc1RSWDc5YnEyOEhyYkxBV0w2N3k4T1VJdXdrTms2ZFFkbzItSExZMkxvIiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiJodHRwczovL2F1dGhsZXRlLmNvbSIsInN1YiI6ImpvaG4iLCJhdWQiOlsibmF0aXZlX2FwcF8xIl0sImV4cCI6MTc1NjcxNzY3MywiaWF0IjoxNzU2NzE3MzczLCJkc19oYXNoIjoic0luWlNhY1luRkR1Y1dwckRqZmtYeENRZl9mWGhsVDY1ZDduS0VYNzc2OCIsInNpZCI6Im15LXNpZCIsImdpdmVuX25hbWUiOiJKb2huIiwiZmFtaWx5X25hbWUiOiJCcm93biIsImVtYWlsIjoidGVzdEBleGFtcGxlLmNvbSJ9.RASuwd4KYPe8b3vNNwIYJgoXzUadDFFHO1wYWD70Z3EsZd8qcxxkPmJKs3dRitvYTX8DDqf5zvAm1jlIeEuvRQ\\\",\\\"device_secret\\\":\\\"my-ds\\\"}", "idToken": "eyJraWQiOiItc1RSWDc5YnEyOEhyYkxBV0w2N3k4T1VJdXdrTms2ZFFkbzItSExZMkxvIiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiJodHRwczovL2F1dGhsZXRlLmNvbSIsInN1YiI6ImpvaG4iLCJhdWQiOlsibmF0aXZlX2FwcF8xIl0sImV4cCI6MTc1NjcxNzY3MywiaWF0IjoxNzU2NzE3MzczLCJkc19oYXNoIjoic0luWlNhY1luRkR1Y1dwckRqZmtYeENRZl9mWGhsVDY1ZDduS0VYNzc2OCIsInNpZCI6Im15LXNpZCIsImdpdmVuX25hbWUiOiJKb2huIiwiZmFtaWx5X25hbWUiOiJCcm93biIsImVtYWlsIjoidGVzdEBleGFtcGxlLmNvbSJ9.RASuwd4KYPe8b3vNNwIYJgoXzUadDFFHO1wYWD70Z3EsZd8qcxxkPmJKs3dRitvYTX8DDqf5zvAm1jlIeEuvRQ"}
{
"resultCode": "A001201",
"resultMessage": "[A001201] /auth/authorization, TLS must be used."
}
{
"resultCode": "A001215",
"resultMessage": "[A001215] /auth/authorization, The client (ID = 26837717140341) is locked."
}
{
"resultCode": "A001311",
"resultMessage": "[A001311] /auth/authorization, Too many requests, retry after 1 seconds. (Entity: 23769878923/87122303)"
}
{
"resultCode": "A001101",
"resultMessage": "[A001101] /auth/authorization, Authlete Server error."
}
Native SSO
Native SSO Processing
This API should be called by the implementation of a token endpoint to generate the ID token and token response that comply with OpenID Connect Native SSO for Mobile Apps 1.0 (Native SSO) when Authlete’s /auth/token response indicates action = NATIVE_SSO (after you validate the session id and verify or generate the device secret as required by the flow). The token endpoint implementation should retrieve the value of action from the response and take the following steps according to the value.
POST
/
api
/
{serviceId}
/
nativesso
Typescript (SDK)
import { Authlete } from "@authlete/typescript-sdk";const authlete = new Authlete({ serviceId: "715948317", bearer: process.env["AUTHLETE_BEARER"] ?? "",});async function run() { const result = await authlete.nativeSso.process({ nativeSsoRequest: { accessToken: "_kh1aygxZ5NKLYKCJRM8M_AYvDg2wCWoprQDjfO87ZWq", refreshToken: "kHUGSt_d3LSgiCQzH7wa5TpwIHWgjAZGw14zZV7hRqw", claims: "{\"given_name\":\"John\",\"family_name\":\"Brown\",\"email\":\"test@example.com\"}", deviceSecret: "my-ds", }, }); console.log(result);}run();
{ "resultCode": "A501001", "resultMessage": "[A501001] A Native SSO-compliant ID token and a token response were generated successfully.", "action": "OK", "responseContent": "{\\\"access_token\\\":\\\"_kh1aygxZ5NKLYKCJRM8M_AYvDg2wCWoprQDjfO87ZWq\\\",\\\"token_type\\\":\\\"Bearer\\\",\\\"expires_in\\\":86400,\\\"scope\\\":\\\"openid device_sso\\\",\\\"refresh_token\\\":\\\"kHUGSt_d3LSgiCQzH7wa5TpwIHWgjAZGw14zZV7hRqw\\\",\\\"id_token\\\":\\\"eyJraWQiOiItc1RSWDc5YnEyOEhyYkxBV0w2N3k4T1VJdXdrTms2ZFFkbzItSExZMkxvIiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiJodHRwczovL2F1dGhsZXRlLmNvbSIsInN1YiI6ImpvaG4iLCJhdWQiOlsibmF0aXZlX2FwcF8xIl0sImV4cCI6MTc1NjcxNzY3MywiaWF0IjoxNzU2NzE3MzczLCJkc19oYXNoIjoic0luWlNhY1luRkR1Y1dwckRqZmtYeENRZl9mWGhsVDY1ZDduS0VYNzc2OCIsInNpZCI6Im15LXNpZCIsImdpdmVuX25hbWUiOiJKb2huIiwiZmFtaWx5X25hbWUiOiJCcm93biIsImVtYWlsIjoidGVzdEBleGFtcGxlLmNvbSJ9.RASuwd4KYPe8b3vNNwIYJgoXzUadDFFHO1wYWD70Z3EsZd8qcxxkPmJKs3dRitvYTX8DDqf5zvAm1jlIeEuvRQ\\\",\\\"device_secret\\\":\\\"my-ds\\\"}", "idToken": "eyJraWQiOiItc1RSWDc5YnEyOEhyYkxBV0w2N3k4T1VJdXdrTms2ZFFkbzItSExZMkxvIiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiJodHRwczovL2F1dGhsZXRlLmNvbSIsInN1YiI6ImpvaG4iLCJhdWQiOlsibmF0aXZlX2FwcF8xIl0sImV4cCI6MTc1NjcxNzY3MywiaWF0IjoxNzU2NzE3MzczLCJkc19oYXNoIjoic0luWlNhY1luRkR1Y1dwckRqZmtYeENRZl9mWGhsVDY1ZDduS0VYNzc2OCIsInNpZCI6Im15LXNpZCIsImdpdmVuX25hbWUiOiJKb2huIiwiZmFtaWx5X25hbWUiOiJCcm93biIsImVtYWlsIjoidGVzdEBleGFtcGxlLmNvbSJ9.RASuwd4KYPe8b3vNNwIYJgoXzUadDFFHO1wYWD70Z3EsZd8qcxxkPmJKs3dRitvYTX8DDqf5zvAm1jlIeEuvRQ"}
{
"resultCode": "A001201",
"resultMessage": "[A001201] /auth/authorization, TLS must be used."
}
When the action is OK, it indicates that the /nativesso API processing has successfully completed. In this case, the token endpoint implementation should return a successful response (200 OK) to the client. The value of the responseContent property in the /nativesso API response can be used directly as the message body of the token response. Therefore, the success response can be constructed as follows:
HTTP/1.1 200 OKContent-Type: application/jsonCache-Control: no-store(Embed the value of responseContent here.)
When the action is INTERNAL_SERVER_ERROR, it indicates that something has gone wrong on the Authlete side. For example, an issue such as a database error might have occurred when retrieving the access token specified by the accessToken parameter from the database.In such cases, the token endpoint implementation should return an error response to the client. The simplest implementation would be to return a 500 Internal Server Error.
HTTP/1.1 500 Internal Server ErrorContent-Type: application/jsonCache-Control: no-store(Embed the value of responseContent here.)
However, in a production environment, it may be better to return a more abstract error (one that does not directly describe the nature of the issue), rather than a 500 error.
When the action is CALLER_ERROR, it indicates that the issue lies with the caller of the API (i.e., the implementation of the OpenID Provider). For example, this could be due to missing a required parameter such as accessToken.If CALLER_ERROR is returned, please review the implementation of your OpenID Provider.
Authenticate every request with a Service Access Token or Organization Token. Set the token value in the Authorization: Bearer <token> header.
Service Access Token: Scoped to a single service. Use when automating service-level configuration or runtime flows.
Organization Token: Scoped to the organization; inherits permissions across services. Use for org-wide automation or when managing multiple services programmatically.
Both token types are issued by the Authlete console or provisioning APIs.
The value of this parameter should be: (a) the value of the jwtAccessToken parameter in a response from the /auth/token API when the value is available, or (b) the value of the accessToken parameter in the response from the /auth/token API when the jwtAccessToken parameter is not available.
The device secret. The value of this parameter should be the value of the deviceSecret parameter in the response from the /auth/token API, if the parameter is present. Otherwise, the authorization server should generate a new device secret and specify it as the value of this parameter.
The value that should be used as the value of the sub claim of the ID token. This parameter is optional. When omitted, the value of the subject associated with the access token is used.
The device secret hash. The specified device secret hash is included as the value of the ds_hash claim in the ID token generated by the /nativesso API. If the deviceSecretHash request parameter is omitted, the value of the deviceSecret request parameter is used to compute the hash.
{"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":"api-reference/native-sso/native-sso-processing","slug":"/api-reference/native-sso/native-sso-processing","pageMetadata":{"title":"Native SSO Processing","description":"This API should be called by the implementation of a token endpoint to generate the ID token and token response that comply with [OpenID Connect Native SSO for Mobile Apps 1.0](https://openid.net/specs/openid-connect-native-sso-1_0.html) (Native SSO) when Authlete’s `/auth/token` response indicates `action = NATIVE_SSO` (after you validate the session id and verify or generate the device secret as required by the flow). The token endpoint implementation should retrieve the value of `action` from the response and take the following steps according to the value.","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/nativesso","href":"/api-reference/native-sso/native-sso-processing","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"This API should be called by the implementation of a token endpoint to generate the ID token and token response that comply with \", _jsx(_components.a, {\n href: \"https://openid.net/specs/openid-connect-native-sso-1_0.html\",\n children: \"OpenID Connect Native SSO for Mobile Apps 1.0\"\n }), \" (Native SSO) when Authlete’s \", _jsx(_components.code, {\n children: \"/auth/token\"\n }), \" response indicates \", _jsx(_components.code, {\n children: \"action = NATIVE_SSO\"\n }), \" (after you validate the session id and verify or generate the device secret as required by the flow). The token endpoint implementation should retrieve the value of \", _jsx(_components.code, {\n children: \"action\"\n }), \" from the response and take the following steps according to the value.\"]\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{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{Accordion,CodeBlock,Heading}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(Accordion,{title:`Full description`,defaultOpen:false,id:`full-description`,children:[_jsx(Heading,{level:`2`,id:`ok`,children:`OK`}),_jsxs(_components.p,{children:[`When the action is `,_jsx(_components.code,{children:`OK`}),`, it indicates that the `,_jsx(_components.code,{children:`/nativesso`}),` API processing has successfully completed. In this case, the token endpoint implementation should return a successful response (`,_jsx(_components.code,{children:`200 OK`}),`) to the client. The value of the responseContent property in the `,_jsx(_components.code,{children:`/nativesso`}),` API response can be used directly as the message body of the token response. Therefore, the success response can be constructed as follows:`]}),_jsx(CodeBlock,{numberOfLines:`6`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`HTTP/1.1 200 OK`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Content-Type: application/json`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Cache-Control: no-store`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`(Embed the value of responseContent here.)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsx(Heading,{level:`2`,id:`internal_server_error`,children:`INTERNAL_SERVER_ERROR`}),_jsxs(_components.p,{children:[`When the action is `,_jsx(_components.code,{children:`INTERNAL_SERVER_ERROR`}),`, it indicates that something has gone wrong on the Authlete side. For example, an issue such as a database error might have occurred when retrieving the access token specified by the accessToken parameter from the database.`]}),_jsxs(_components.p,{children:[`In such cases, the token endpoint implementation should return an error response to the client. The simplest implementation would be to return a `,_jsx(_components.code,{children:`500 Internal Server Error`}),`.`]}),_jsx(CodeBlock,{numberOfLines:`6`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`HTTP/1.1 500 Internal Server Error`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Content-Type: application/json`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Cache-Control: no-store`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`(Embed the value of responseContent here.)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(_components.p,{children:[`However, in a production environment, it may be better to return a more abstract error (one that does not directly describe the nature of the issue), rather than a `,_jsx(_components.code,{children:`500`}),` error.`]}),_jsx(Heading,{level:`2`,id:`caller_error`,children:`CALLER_ERROR`}),_jsxs(_components.p,{children:[`When the action is `,_jsx(_components.code,{children:`CALLER_ERROR`}),`, it indicates that the issue lies with the caller of the API (i.e., the implementation of the OpenID Provider). For example, this could be due to missing a required parameter such as accessToken.`]}),_jsxs(_components.p,{children:[`If `,_jsx(_components.code,{children:`CALLER_ERROR`}),` is returned, please review the implementation of your OpenID Provider.`]})]})}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":"Native SSO Processing","description":"This API should be called by the implementation of a token endpoint to generate the ID token and token response that comply with [OpenID Connect Native SSO for Mobile Apps 1.0](https://openid.net/specs/openid-connect-native-sso-1_0.html) (Native SSO) when Authlete’s `/auth/token` response indicates `action = NATIVE_SSO` (after you validate the session id and verify or generate the device secret as required by the flow). The token endpoint implementation should retrieve the value of `action` from the response and take the following steps according to the value.","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/nativesso","href":"/api-reference/native-sso/native-sso-processing","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/authlete/a07b398e9c8556ba/snippets/oauth-dynamic.js"],"openApiReferenceData":{"operation":{"summary":"Native SSO Processing","description":"This API should be called by the implementation of a token endpoint to generate the ID token and token response that comply with [OpenID Connect Native SSO for Mobile Apps 1.0](https://openid.net/specs/openid-connect-native-sso-1_0.html) (Native SSO) when Authlete’s `/auth/token` response indicates `action = NATIVE_SSO` (after you validate the session id and verify or generate the device secret as required by the flow). The token endpoint implementation should retrieve the value of `action` from the response and take the following steps according to the value.","x-mint":{"metadata":{"description":"This API should be called by the implementation of a token endpoint to generate the ID token and token response that comply with [OpenID Connect Native SSO for Mobile Apps 1.0](https://openid.net/specs/openid-connect-native-sso-1_0.html) (Native SSO) when Authlete’s `/auth/token` response indicates `action = NATIVE_SSO` (after you validate the session id and verify or generate the device secret as required by the flow). The token endpoint implementation should retrieve the value of `action` from the response and take the following steps according to the value."},"content":"\u003cAccordion title=\"Full description\" defaultOpen={false}>\n## OK\n\nWhen the action is `OK`, it indicates that the `/nativesso` API processing has successfully completed. In this case, the token endpoint implementation should return a successful response (`200 OK`) to the client. The value of the responseContent property in the `/nativesso` API response can be used directly as the message body of the token response. Therefore, the success response can be constructed as follows:\n\n```\nHTTP/1.1 200 OK\nContent-Type: application/json\nCache-Control: no-store\n\n(Embed the value of responseContent here.)\n```\n\n## INTERNAL_SERVER_ERROR\n\nWhen the action is `INTERNAL_SERVER_ERROR`, it indicates that something has gone wrong on the Authlete side. For example, an issue such as a database error might have occurred when retrieving the access token specified by the accessToken parameter from the database.\n\nIn such cases, the token endpoint implementation should return an error response to the client. The simplest implementation would be to return a `500 Internal Server Error`.\n\n```\nHTTP/1.1 500 Internal Server Error\nContent-Type: application/json\nCache-Control: no-store\n\n(Embed the value of responseContent here.)\n```\n\nHowever, in a production environment, it may be better to return a more abstract error (one that does not directly describe the nature of the issue), rather than a `500` error.\n\n## CALLER_ERROR\n\nWhen the action is `CALLER_ERROR`, it indicates that the issue lies with the caller of the API (i.e., the implementation of the OpenID Provider). For example, this could be due to missing a required parameter such as accessToken.\n\nIf `CALLER_ERROR` is returned, please review the implementation of your OpenID Provider.\n\u003c/Accordion>\n"},"parameters":["e8202db2-1ea4-4480-b96f-5af0a1c5ff7d"],"requestBody":"7f313af4-5a63-4fa2-9991-d553466bb008","responses":{"200":"292de6f0-dd20-4547-995f-d8a8338a6239","400":"9bf23dd6-dd1d-41aa-a23b-4aa65cd0baf5","401":"c2b998a7-6a66-4976-a2e2-2885ba8b5a57","403":"1187c000-9000-4e6d-a058-a3d87e342631","429":"b6154f58-c447-45c1-a7b5-5d5fe24a82fa","500":"cefb1fb8-ed38-4793-be1c-94355b968eca"},"operationId":"native_sso_api","x-code-samples":[{"lang":"shell","label":"curl","source":"curl -v -X POST https://us.authlete.com/api/21653835348762/nativesso \\\n-H 'Content-Type:application/json' \\\n-H 'Authorization: Bearer V5a40R6dWvw2gMkCOBFdZcM95q4HC0Z-T0YKD9-nR6F' \\\n-d '{ \"accessToken\": \"_kh1aygxZ5NKLYKCJRM8M_AYvDg2wCWoprQDjfO87ZWq\", \"refreshToken\": \"kHUGSt_d3LSgiCQzH7wa5TpwIHWgjAZGw14zZV7hRqw\", \"deviceSecret\": \"my-ds\", \"claims\": \"{\\\"given_name\\\":\\\"John\\\",\\\"family_name\\\":\\\"Brown\\\",\\\"email\\\":\\\"test@example.com\\\"}\" }'\n"},{"lang":"java","label":"java","source":"AuthleteConfiguration conf = ...;\nAuthleteApi api = AuthleteApiFactory.create(conf);\n\nNativeSsoRequest req = new NativeSsoRequest();\nreq.setAccessToken(\"_kh1aygxZ5NKLYKCJRM8M_AYvDg2wCWoprQDjfO87ZWq\");\nreq.setRefreshToken(\"kHUGSt_d3LSgiCQzH7wa5TpwIHWgjAZGw14zZV7hRqw\");\nreq.setDeviceSecret(\"my-ds\");\nreq.setClaims(\"{\\\"given_name\\\":\\\"John\\\",\\\"family_name\\\":\\\"Brown\\\",\\\"email\\\":\\\"test@example.com\\\"}\")\n\napi.nativeSso(req);\n"}],"tags":["Native SSO"],"x-speakeasy-group":"nativeSso","x-speakeasy-name-override":"process","x-codeSamples":[{"lang":"typescript","label":"Typescript (SDK)","source":"import { Authlete } from \"@authlete/typescript-sdk\";\n\nconst authlete = new Authlete({\n serviceId: \"715948317\",\n bearer: process.env[\"AUTHLETE_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await authlete.nativeSso.process({\n nativeSsoRequest: {\n accessToken: \"_kh1aygxZ5NKLYKCJRM8M_AYvDg2wCWoprQDjfO87ZWq\",\n refreshToken: \"kHUGSt_d3LSgiCQzH7wa5TpwIHWgjAZGw14zZV7hRqw\",\n claims: \"{\\\"given_name\\\":\\\"John\\\",\\\"family_name\\\":\\\"Brown\\\",\\\"email\\\":\\\"test@example.com\\\"}\",\n deviceSecret: \"my-ds\",\n },\n });\n\n console.log(result);\n}\n\nrun();"},{"lang":"ruby","label":"Ruby (SDK)","source":"require 'authlete_ruby_sdk'\n\nModels = ::Authlete::Models\ns = ::Authlete::Client.new(\n service_id: '715948317',\n bearer: '\u003cYOUR_BEARER_TOKEN_HERE>'\n)\nres = s.native_sso.process_request(native_sso_request: Models::Components::NativeSsoRequest.new(\n access_token: '_kh1aygxZ5NKLYKCJRM8M_AYvDg2wCWoprQDjfO87ZWq',\n refresh_token: 'kHUGSt_d3LSgiCQzH7wa5TpwIHWgjAZGw14zZV7hRqw',\n claims: '{\"given_name\":\"John\",\"family_name\":\"Brown\",\"email\":\"test@example.com\"}',\n device_secret: 'my-ds'\n))\n\nunless res.native_sso_response.nil?\n # handle response\nend"},{"lang":"go","label":"Go (SDK)","source":"package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tauthlete \"github.com/authlete/authlete-go-sdk\"\n\t\"github.com/authlete/authlete-go-sdk/models/components\"\n\t\"github.com/authlete/authlete-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := authlete.New(\n authlete.WithServiceID(\"715948317\"),\n authlete.WithSecurity(os.Getenv(\"AUTHLETE_BEARER\")),\n )\n\n res, err := s.NativeSso.Process(ctx, operations.NativeSsoAPIRequest{\n Body: components.NativeSsoRequest{\n AccessToken: \"_kh1aygxZ5NKLYKCJRM8M_AYvDg2wCWoprQDjfO87ZWq\",\n RefreshToken: authlete.Pointer(\"kHUGSt_d3LSgiCQzH7wa5TpwIHWgjAZGw14zZV7hRqw\"),\n Claims: authlete.Pointer(\"{\\\"given_name\\\":\\\"John\\\",\\\"family_name\\\":\\\"Brown\\\",\\\"email\\\":\\\"test@example.com\\\"}\"),\n DeviceSecret: \"my-ds\",\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.NativeSsoResponse != nil {\n // handle response\n }\n}"}],"method":"post","type":"path","servers":["86730d38-5978-49f4-83dc-79ee32a13d9f","6b1844ca-4ef4-4a3a-aa78-226ce86b6b87","428ca9ef-6a06-47df-8d21-45d932468e02","02c44588-9e42-4914-bdc7-134510ec7325"],"security":["462b635e-c1d5-42f6-b3a8-ef7d418285aa"],"path":"/api/{serviceId}/nativesso","baseUrlOptions":["https://us.authlete.com","https://jp.authlete.com","https://eu.authlete.com","https://br.authlete.com"],"title":"Native SSO Processing","codeSamples":[{"label":"Typescript (SDK)","lang":"typescript","source":"import { Authlete } from \"@authlete/typescript-sdk\";\n\nconst authlete = new Authlete({\n serviceId: \"715948317\",\n bearer: process.env[\"AUTHLETE_BEARER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await authlete.nativeSso.process({\n nativeSsoRequest: {\n accessToken: \"_kh1aygxZ5NKLYKCJRM8M_AYvDg2wCWoprQDjfO87ZWq\",\n refreshToken: \"kHUGSt_d3LSgiCQzH7wa5TpwIHWgjAZGw14zZV7hRqw\",\n claims: \"{\\\"given_name\\\":\\\"John\\\",\\\"family_name\\\":\\\"Brown\\\",\\\"email\\\":\\\"test@example.com\\\"}\",\n deviceSecret: \"my-ds\",\n },\n });\n\n console.log(result);\n}\n\nrun();"},{"label":"Ruby (SDK)","lang":"ruby","source":"require 'authlete_ruby_sdk'\n\nModels = ::Authlete::Models\ns = ::Authlete::Client.new(\n service_id: '715948317',\n bearer: '\u003cYOUR_BEARER_TOKEN_HERE>'\n)\nres = s.native_sso.process_request(native_sso_request: Models::Components::NativeSsoRequest.new(\n access_token: '_kh1aygxZ5NKLYKCJRM8M_AYvDg2wCWoprQDjfO87ZWq',\n refresh_token: 'kHUGSt_d3LSgiCQzH7wa5TpwIHWgjAZGw14zZV7hRqw',\n claims: '{\"given_name\":\"John\",\"family_name\":\"Brown\",\"email\":\"test@example.com\"}',\n device_secret: 'my-ds'\n))\n\nunless res.native_sso_response.nil?\n # handle response\nend"},{"label":"Go (SDK)","lang":"go","source":"package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tauthlete \"github.com/authlete/authlete-go-sdk\"\n\t\"github.com/authlete/authlete-go-sdk/models/components\"\n\t\"github.com/authlete/authlete-go-sdk/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := authlete.New(\n authlete.WithServiceID(\"715948317\"),\n authlete.WithSecurity(os.Getenv(\"AUTHLETE_BEARER\")),\n )\n\n res, err := s.NativeSso.Process(ctx, operations.NativeSsoAPIRequest{\n Body: components.NativeSsoRequest{\n AccessToken: \"_kh1aygxZ5NKLYKCJRM8M_AYvDg2wCWoprQDjfO87ZWq\",\n RefreshToken: authlete.Pointer(\"kHUGSt_d3LSgiCQzH7wa5TpwIHWgjAZGw14zZV7hRqw\"),\n Claims: authlete.Pointer(\"{\\\"given_name\\\":\\\"John\\\",\\\"family_name\\\":\\\"Brown\\\",\\\"email\\\":\\\"test@example.com\\\"}\"),\n DeviceSecret: \"my-ds\",\n },\n })\n if err != nil {\n log.Fatal(err)\n }\n if res.NativeSsoResponse != nil {\n // handle response\n }\n}"}],"requestExampleLanguages":["typescript","ruby","go","bash"],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"e8202db2-1ea4-4480-b96f-5af0a1c5ff7d":{"in":"path","name":"serviceId","description":"A service ID.","required":true,"schema":{"type":"string","isRequired":true,"description":"A service ID.","uniqueKey":"","typeLabel":"string"},"example":"715948317"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["accessToken","deviceSecret"],"properties":{"accessToken":{"type":"string","description":"The value of this parameter should be: (a) the value of the `jwtAccessToken` parameter in a response from the `/auth/token` API when the value is available, or (b) the value of the `accessToken` parameter in the response from the `/auth/token` API when the `jwtAccessToken` parameter is not available.\n","isRequired":true,"uniqueKey":"accessToken","typeLabel":"string"},"deviceSecret":{"type":"string","description":"The device secret. The value of this parameter should be the value of the `deviceSecret` parameter in the response from the `/auth/token` API, if the parameter is present. Otherwise, the authorization server should generate a new device secret and specify it as the value of this parameter.\n","x-mint":{"metadata":{"description":"The device secret. The value of this parameter should be the value of the `deviceSecret` parameter in the response from the `/auth/token` API, if the parameter is present. Otherwise, the authorization server should generate a new device secret and specify it as the value of this parameter."},"content":"\u003cAccordion title=\"Full description\" defaultOpen={false}>\nThe specified device secret is included as the value of the `device_secret` property in the token response prepared by the `/nativesso` API.\n\nAdditionally, if the `deviceSecretHash` request parameter is omitted, the device secret is used to compute the value of the `ds_hash` claim. In this case, the `ds_hash` claim will be the base64url-encoded SHA-256 hash of the device secret.\n\u003c/Accordion>\n"},"isRequired":true,"uniqueKey":"deviceSecret","typeLabel":"string"},"refreshToken":{"type":"string","description":"The value of this parameter should be the value of the `refreshToken` parameter in a response from the `/auth/token` API.\n","uniqueKey":"refreshToken","typeLabel":"string"},"sub":{"type":"string","description":"The value that should be used as the value of the `sub` claim of the ID token. This parameter is optional. When omitted, the value of the subject associated with the access token is used.\n","uniqueKey":"sub","typeLabel":"string"},"claims":{"type":"string","description":"Additional claims that should be embedded in the payload part of the ID token. The format is a JSON object. This parameter is optional.\n","uniqueKey":"claims","typeLabel":"string"},"idtHeaderParams":{"type":"string","description":"Additional parameters that should be embedded in the JWS header of the ID token. The format is a JSON object. This parameter is optional.\n","uniqueKey":"idtHeaderParams","typeLabel":"string"},"idTokenAudType":{"type":"string","description":"The type of the `aud` claim of the ID token being issued. Valid values of this parameter are as follows:\n","x-mint":{"metadata":{"description":"The type of the `aud` claim of the ID token being issued. Valid values of this parameter are as follows:"},"content":"\u003cAccordion title=\"Full description\" defaultOpen={false}>\n- `\"array\"` The type of the `aud` claim becomes an array of strings.\n\n- `\"string\"` The type of the `aud` claim becomes a single string.\n\nThis parameter is optional, and the default value when omitted is `\"array\"`. This parameter takes precedence over the `idTokenAudType` property of `Service`.\n\u003c/Accordion>\n"},"uniqueKey":"idTokenAudType","typeLabel":"string"},"deviceSecretHash":{"type":"string","description":"The device secret hash. The specified device secret hash is included as the value of the `ds_hash` claim in the ID token generated by the `/nativesso` API. If the `deviceSecretHash` request parameter is omitted, the value of the `deviceSecret` request parameter is used to compute the hash.\n","uniqueKey":"deviceSecretHash","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"accessToken":"_kh1aygxZ5NKLYKCJRM8M_AYvDg2wCWoprQDjfO87ZWq","refreshToken":"kHUGSt_d3LSgiCQzH7wa5TpwIHWgjAZGw14zZV7hRqw","deviceSecret":"my-ds","claims":"{\"given_name\":\"John\",\"family_name\":\"Brown\",\"email\":\"test@example.com\"}"},"examples":{"Example":{"title":"Example","value":{"accessToken":"_kh1aygxZ5NKLYKCJRM8M_AYvDg2wCWoprQDjfO87ZWq","refreshToken":"kHUGSt_d3LSgiCQzH7wa5TpwIHWgjAZGw14zZV7hRqw","deviceSecret":"my-ds","claims":"{\"given_name\":\"John\",\"family_name\":\"Brown\",\"email\":\"test@example.com\"}"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"292de6f0-dd20-4547-995f-d8a8338a6239":{"description":"Native SSO processing completed successfully","content":{"application/json":{"schema":{"type":"object","properties":{"resultCode":{"type":"string","description":"The code which represents the result of the API call.","uniqueKey":"resultCode","typeLabel":"string"},"resultMessage":{"type":"string","description":"A short message which explains the result of the API call.","uniqueKey":"resultMessage","typeLabel":"string"},"action":{"type":"string","enum":["OK","INTERNAL_SERVER_ERROR","CALLER_ERROR"],"description":"The next action that the implementation of the token endpoint should take.\n","uniqueKey":"action","typeLabel":"enum\u003cstring>"},"responseContent":{"type":"string","description":"The response content that can be used as the message body of the token response that should be returned from the token endpoint.\n","uniqueKey":"responseContent","typeLabel":"string"},"idToken":{"type":"string","description":"The issued ID token.\n","uniqueKey":"idToken","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"resultCode":"A501001","resultMessage":"[A501001] A Native SSO-compliant ID token and a token response were generated successfully.","action":"OK","responseContent":"{\\\"access_token\\\":\\\"_kh1aygxZ5NKLYKCJRM8M_AYvDg2wCWoprQDjfO87ZWq\\\",\\\"token_type\\\":\\\"Bearer\\\",\\\"expires_in\\\":86400,\\\"scope\\\":\\\"openid device_sso\\\",\\\"refresh_token\\\":\\\"kHUGSt_d3LSgiCQzH7wa5TpwIHWgjAZGw14zZV7hRqw\\\",\\\"id_token\\\":\\\"eyJraWQiOiItc1RSWDc5YnEyOEhyYkxBV0w2N3k4T1VJdXdrTms2ZFFkbzItSExZMkxvIiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiJodHRwczovL2F1dGhsZXRlLmNvbSIsInN1YiI6ImpvaG4iLCJhdWQiOlsibmF0aXZlX2FwcF8xIl0sImV4cCI6MTc1NjcxNzY3MywiaWF0IjoxNzU2NzE3MzczLCJkc19oYXNoIjoic0luWlNhY1luRkR1Y1dwckRqZmtYeENRZl9mWGhsVDY1ZDduS0VYNzc2OCIsInNpZCI6Im15LXNpZCIsImdpdmVuX25hbWUiOiJKb2huIiwiZmFtaWx5X25hbWUiOiJCcm93biIsImVtYWlsIjoidGVzdEBleGFtcGxlLmNvbSJ9.RASuwd4KYPe8b3vNNwIYJgoXzUadDFFHO1wYWD70Z3EsZd8qcxxkPmJKs3dRitvYTX8DDqf5zvAm1jlIeEuvRQ\\\",\\\"device_secret\\\":\\\"my-ds\\\"}","idToken":"eyJraWQiOiItc1RSWDc5YnEyOEhyYkxBV0w2N3k4T1VJdXdrTms2ZFFkbzItSExZMkxvIiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiJodHRwczovL2F1dGhsZXRlLmNvbSIsInN1YiI6ImpvaG4iLCJhdWQiOlsibmF0aXZlX2FwcF8xIl0sImV4cCI6MTc1NjcxNzY3MywiaWF0IjoxNzU2NzE3MzczLCJkc19oYXNoIjoic0luWlNhY1luRkR1Y1dwckRqZmtYeENRZl9mWGhsVDY1ZDduS0VYNzc2OCIsInNpZCI6Im15LXNpZCIsImdpdmVuX25hbWUiOiJKb2huIiwiZmFtaWx5X25hbWUiOiJCcm93biIsImVtYWlsIjoidGVzdEBleGFtcGxlLmNvbSJ9.RASuwd4KYPe8b3vNNwIYJgoXzUadDFFHO1wYWD70Z3EsZd8qcxxkPmJKs3dRitvYTX8DDqf5zvAm1jlIeEuvRQ"},"examples":{"Example":{"title":"Example","value":{"resultCode":"A501001","resultMessage":"[A501001] A Native SSO-compliant ID token and a token response were generated successfully.","action":"OK","responseContent":"{\\\"access_token\\\":\\\"_kh1aygxZ5NKLYKCJRM8M_AYvDg2wCWoprQDjfO87ZWq\\\",\\\"token_type\\\":\\\"Bearer\\\",\\\"expires_in\\\":86400,\\\"scope\\\":\\\"openid device_sso\\\",\\\"refresh_token\\\":\\\"kHUGSt_d3LSgiCQzH7wa5TpwIHWgjAZGw14zZV7hRqw\\\",\\\"id_token\\\":\\\"eyJraWQiOiItc1RSWDc5YnEyOEhyYkxBV0w2N3k4T1VJdXdrTms2ZFFkbzItSExZMkxvIiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiJodHRwczovL2F1dGhsZXRlLmNvbSIsInN1YiI6ImpvaG4iLCJhdWQiOlsibmF0aXZlX2FwcF8xIl0sImV4cCI6MTc1NjcxNzY3MywiaWF0IjoxNzU2NzE3MzczLCJkc19oYXNoIjoic0luWlNhY1luRkR1Y1dwckRqZmtYeENRZl9mWGhsVDY1ZDduS0VYNzc2OCIsInNpZCI6Im15LXNpZCIsImdpdmVuX25hbWUiOiJKb2huIiwiZmFtaWx5X25hbWUiOiJCcm93biIsImVtYWlsIjoidGVzdEBleGFtcGxlLmNvbSJ9.RASuwd4KYPe8b3vNNwIYJgoXzUadDFFHO1wYWD70Z3EsZd8qcxxkPmJKs3dRitvYTX8DDqf5zvAm1jlIeEuvRQ\\\",\\\"device_secret\\\":\\\"my-ds\\\"}","idToken":"eyJraWQiOiItc1RSWDc5YnEyOEhyYkxBV0w2N3k4T1VJdXdrTms2ZFFkbzItSExZMkxvIiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiJodHRwczovL2F1dGhsZXRlLmNvbSIsInN1YiI6ImpvaG4iLCJhdWQiOlsibmF0aXZlX2FwcF8xIl0sImV4cCI6MTc1NjcxNzY3MywiaWF0IjoxNzU2NzE3MzczLCJkc19oYXNoIjoic0luWlNhY1luRkR1Y1dwckRqZmtYeENRZl9mWGhsVDY1ZDduS0VYNzc2OCIsInNpZCI6Im15LXNpZCIsImdpdmVuX25hbWUiOiJKb2huIiwiZmFtaWx5X25hbWUiOiJCcm93biIsImVtYWlsIjoidGVzdEBleGFtcGxlLmNvbSJ9.RASuwd4KYPe8b3vNNwIYJgoXzUadDFFHO1wYWD70Z3EsZd8qcxxkPmJKs3dRitvYTX8DDqf5zvAm1jlIeEuvRQ"}}},"exampleType":"examples"}},"links":{"authz_process":{"$ref":"#/components/links/authz_process"},"token_exchange":{"$ref":"#/components/links/token_exchange"}},"exampleType":"examples"},"9bf23dd6-dd1d-41aa-a23b-4aa65cd0baf5":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"resultCode":{"type":"string","description":"The code which represents the result of the API call.","uniqueKey":"resultCode","typeLabel":"string"},"resultMessage":{"type":"string","description":"A short message which explains the result of the API call.","uniqueKey":"resultMessage","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"resultCode":"A001201","resultMessage":"[A001201] /auth/authorization, TLS must be used."},"examples":{"Example":{"title":"Example","value":{"resultCode":"A001201","resultMessage":"[A001201] /auth/authorization, TLS must be used."}}},"exampleType":"examples"}},"exampleType":"examples"},"c2b998a7-6a66-4976-a2e2-2885ba8b5a57":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"resultCode":{"type":"string","description":"The code which represents the result of the API call.","uniqueKey":"resultCode","typeLabel":"string"},"resultMessage":{"type":"string","description":"A short message which explains the result of the API call.","uniqueKey":"resultMessage","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"resultCode":"A001202","resultMessage":"[A001202] /auth/authorization, Authorization header is missing."},"examples":{"Example":{"title":"Example","value":{"resultCode":"A001202","resultMessage":"[A001202] /auth/authorization, Authorization header is missing."}}},"exampleType":"examples"}},"exampleType":"examples"},"1187c000-9000-4e6d-a058-a3d87e342631":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"resultCode":{"type":"string","description":"The code which represents the result of the API call.","uniqueKey":"resultCode","typeLabel":"string"},"resultMessage":{"type":"string","description":"A short message which explains the result of the API call.","uniqueKey":"resultMessage","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"resultCode":"A001215","resultMessage":"[A001215] /auth/authorization, The client (ID = 26837717140341) is locked."},"examples":{"Example":{"title":"Example","value":{"resultCode":"A001215","resultMessage":"[A001215] /auth/authorization, The client (ID = 26837717140341) is locked."}}},"exampleType":"examples"}},"exampleType":"examples"},"b6154f58-c447-45c1-a7b5-5d5fe24a82fa":{"description":"The request exceeded the request rate permitted for the endpoint.","headers":{"Retry-After":{"description":"The number of seconds to wait before retrying the request.","schema":{"type":"integer","example":1}},"RateLimit-Remaining":{"description":"The number of requests remaining in the next second.","schema":{"type":"integer","example":10}},"RateLimit-Reset":{"description":"The number of seconds to wait before the request rate is fully replenished.","schema":{"type":"integer","example":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"resultCode":{"type":"string","description":"The code which represents the result of the API call.","uniqueKey":"resultCode","typeLabel":"string"},"resultMessage":{"type":"string","description":"A short message which explains the result of the API call.","uniqueKey":"resultMessage","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"resultCode":"A001311","resultMessage":"[A001311] /auth/authorization, Too many requests, retry after 1 seconds. (Entity: 23769878923/87122303)"},"examples":{"Example":{"title":"Example","value":{"resultCode":"A001311","resultMessage":"[A001311] /auth/authorization, Too many requests, retry after 1 seconds. (Entity: 23769878923/87122303)"}}},"exampleType":"examples"}},"exampleType":"examples"},"cefb1fb8-ed38-4793-be1c-94355b968eca":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"resultCode":{"type":"string","description":"The code which represents the result of the API call.","uniqueKey":"resultCode","typeLabel":"string"},"resultMessage":{"type":"string","description":"A short message which explains the result of the API call.","uniqueKey":"resultMessage","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"resultCode":"A001101","resultMessage":"[A001101] /auth/authorization, Authlete Server error."},"examples":{"Example":{"title":"Example","value":{"resultCode":"A001101","resultMessage":"[A001101] /auth/authorization, Authlete Server error."}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"462b635e-c1d5-42f6-b3a8-ef7d418285aa":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Authenticate every request with a **Service Access Token** or **Organization Token**. Set the token value in the `Authorization: Bearer \u003ctoken>` header.\n\n**Service Access Token**: Scoped to a single service. Use when automating service-level configuration or runtime flows.\n\n**Organization Token**: Scoped to the organization; inherits permissions across services. Use for org-wide automation or when managing multiple services programmatically.\n\nBoth token types are issued by the Authlete console or provisioning APIs.\n","scopes":[],"schemeName":"bearer"}}},"servers":{"86730d38-5978-49f4-83dc-79ee32a13d9f":{"description":"🇺🇸 US Cluster","url":"https://us.authlete.com"},"6b1844ca-4ef4-4a3a-aa78-226ce86b6b87":{"description":"🇯🇵 Japan Cluster","url":"https://jp.authlete.com"},"428ca9ef-6a06-47df-8d21-45d932468e02":{"description":"🇪🇺 Europe Cluster","url":"https://eu.authlete.com"},"02c44588-9e42-4914-bdc7-134510ec7325":{"description":"🇧🇷 Brazil Cluster","url":"https://br.authlete.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Authenticate every request with a **Service Access Token** or **Organization Token**. Set the token value in the `Authorization: Bearer \u003ctoken>` header.\n\n**Service Access Token**: Scoped to a single service. Use when automating service-level configuration or runtime flows.\n\n**Organization Token**: Scoped to the organization; inherits permissions across services. Use for org-wide automation or when managing multiple services programmatically.\n\nBoth token types are issued by the Authlete console or provisioning APIs.\n","scopes":[],"schemeName":"bearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Authenticate every request with a **Service Access Token** or **Organization Token**. Set the token value in the `Authorization: Bearer \u003ctoken>` header.\n\n**Service Access Token**: Scoped to a single service. Use when automating service-level configuration or runtime flows.\n\n**Organization Token**: Scoped to the organization; inherits permissions across services. Use for org-wide automation or when managing multiple services programmatically.\n\nBoth token types are issued by the Authlete console or provisioning APIs.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer","name":"Authorization"}],"title":"bearer"}]},"originalFileLocation":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples"},"subdomain":"authlete","siteName":"Authlete Documentation","title":"Native SSO Processing - Authlete Documentation","navMaps":{"firstHrefInVersion":{"3.x":{"href":"/api-reference/native-sso/native-sso-processing","matchLevel":0},"2.x":{"href":"/get-started/introduction-to-authlete/index","matchLevel":4}},"firstHrefInLanguage":{"en":{"href":"/api-reference/native-sso/native-sso-processing","matchLevel":0},"ja":{"href":"/api-reference/native-sso/native-sso-processing","matchLevel":0}}},"lastModified":"2026-10-21T07:38:52.291Z","originalFileLocation":"api-reference/native-sso/native-sso-processing.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=\"This API should be called by the implementation of a token endpoint to generate the ID token and token response that comply with OpenID Connect Native SSO for Mobile Apps 1.0 (Native SSO) when Authlete’s /auth/token response indicates action = NATIVE_SSO (after you validate the session id and verify or generate the device secret as required by the flow). The token endpoint implementation should retrieve the value of action from the response and take the following steps according to the value.\">\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=\"Native SSO Processing - Authlete Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"This API should be called by the implementation of a token endpoint to generate the ID token and token response that comply with OpenID Connect Native SSO for Mobile Apps 1.0 (Native SSO) when Authlete’s /auth/token response indicates action = NATIVE_SSO (after you validate the session id and verify or generate the device secret as required by the flow). The token endpoint implementation should retrieve the value of action from the response and take the following steps according to the value.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Authlete Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.authlete.com/api-reference/native-sso/native-sso-processing\">\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=Native+SSO\u0026amp;title=Native+SSO+Processing\u0026amp;description=This+API+should+be+called+by+the+implementation+of+a+token+endpoint+to+generate+the+ID+token+and+token+response+that+comply+with+%5BOpenID+Connect+Native+SSO+for+\u0026amp;theme=9a33e57959880538f1449aa0\u0026amp;signature=a0c33807338f7e188b7d1d32a1fc1bcf503747c354ad32b2e002f409db4c0985\">\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=\"Native SSO Processing - Authlete Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"This API should be called by the implementation of a token endpoint to generate the ID token and token response that comply with OpenID Connect Native SSO for Mobile Apps 1.0 (Native SSO) when Authlete’s /auth/token response indicates action = NATIVE_SSO (after you validate the session id and verify or generate the device secret as required by the flow). The token endpoint implementation should retrieve the value of action from the response and take the following steps according to the value.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://authlete.mintlify.app/_mintlify/api/og/v2?division=Native+SSO\u0026amp;title=Native+SSO+Processing\u0026amp;description=This+API+should+be+called+by+the+implementation+of+a+token+endpoint+to+generate+the+ID+token+and+token+response+that+comply+with+%5BOpenID+Connect+Native+SSO+for+\u0026amp;theme=9a33e57959880538f1449aa0\u0026amp;signature=a0c33807338f7e188b7d1d32a1fc1bcf503747c354ad32b2e002f409db4c0985\">\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/api-reference/native-sso/native-sso-processing\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/native-sso/native-sso-processing.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/api-reference/native-sso/native-sso-processing#webpage\",\"url\":\"https://developers.authlete.com/api-reference/native-sso/native-sso-processing\",\"name\":\"Native SSO Processing\",\"description\":\"This API should be called by the implementation of a token endpoint to generate the ID token and token response that comply with OpenID Connect Native SSO for Mobile Apps 1.0 (Native SSO) when Authlete’s /auth/token response indicates action = NATIVE_SSO (after you validate the session id and verify or generate the device secret as required by the flow). The token endpoint implementation should retrieve the value of action from the response and take the following steps according to the value.\",\"dateModified\":\"2026-10-21T07:38:52.291Z\",\"isPartOf\":{\"@id\":\"https://developers.authlete.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.authlete.com/api-reference/native-sso/native-sso-processing#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.authlete.com/api-reference/native-sso/native-sso-processing#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Authlete\",\"item\":\"https://developers.authlete.com/api-reference/service-management/get-service\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Native SSO Processing\",\"item\":\"https://developers.authlete.com/api-reference/native-sso/native-sso-processing\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.authlete.com/api-reference/native-sso/native-sso-processing#apireference\",\"headline\":\"Native SSO Processing\",\"name\":\"Native SSO Processing\",\"description\":\"This API should be called by the implementation of a token endpoint to generate the ID token and token response that comply with OpenID Connect Native SSO for Mobile Apps 1.0 (Native SSO) when Authlete’s /auth/token response indicates action = NATIVE_SSO (after you validate the session id and verify or generate the device secret as required by the flow). The token endpoint implementation should retrieve the value of action from the response and take the following steps according to the value.\",\"url\":\"https://developers.authlete.com/api-reference/native-sso/native-sso-processing\",\"mainEntityOfPage\":{\"@id\":\"https://developers.authlete.com/api-reference/native-sso/native-sso-processing#webpage\"},\"dateModified\":\"2026-10-21T07:38:52.291Z\",\"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,"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/get-started/introduction-to-authlete/overview"}]},{"tab":"API Reference","groups":[{"group":"Authlete","expanded":true,"pages":[{"group":"Service Management","pages":[{"title":"Get Service","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/service/get","href":"/api-reference/service-management/get-service"},{"title":"List Services","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/service/get/list","href":"/api-reference/service-management/list-services"},{"title":"Update Service","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/service/update","href":"/api-reference/service-management/update-service"},{"title":"Create Service (IDP)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/service","href":"/api-reference/service-management/create-service-idp"},{"title":"Remove Service (IDP) ⚡","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/service/remove","href":"/api-reference/service-management/remove-service-idp-⚡"},{"title":"Get Service Configuration","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/service/configuration","href":"/api-reference/service-management/get-service-configuration"}]},{"group":"Audit Logs","pages":[{"title":"Get Audit Logs","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/audit/entries","href":"/api-reference/audit-logs/get-audit-logs"},{"title":"Get Audit Log Event Types","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/audit/types","href":"/api-reference/audit-logs/get-audit-log-event-types"}]},{"group":"Client Management","pages":[{"title":"Get Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/get/{clientId}","href":"/api-reference/client-management/get-client"},{"title":"List Clients","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/get/list","href":"/api-reference/client-management/list-clients"},{"title":"Create Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/create","href":"/api-reference/client-management/create-client"},{"title":"Update Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/update/{clientId}","href":"/api-reference/client-management/update-client"},{"title":"Delete Client ⚡","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/delete/{clientId}","href":"/api-reference/client-management/delete-client-⚡"},{"title":"Update Client Lock","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/lock_flag/update/{clientIdentifier}","href":"/api-reference/client-management/update-client-lock"},{"title":"Rotate Client Secret","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/secret/refresh/{clientIdentifier}","href":"/api-reference/client-management/rotate-client-secret"},{"title":"Update Client Secret","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/secret/update/{clientIdentifier}","href":"/api-reference/client-management/update-client-secret"},{"title":"Get Authorized Applications","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/authorization/get/list","href":"/api-reference/client-management/get-authorized-applications"},{"title":"Get Authorized Applications","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/authorization/get/list","href":"/api-reference/client-management/get-authorized-applications-1"},{"title":"Get Authorized Applications (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/authorization/get/list/{subject}","href":"/api-reference/client-management/get-authorized-applications-by-subject"},{"title":"Update Client Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/authorization/update/{clientId}","href":"/api-reference/client-management/update-client-tokens"},{"title":"Delete Client Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/authorization/delete/{clientId}","href":"/api-reference/client-management/delete-client-tokens"},{"title":"Delete Client Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/authorization/delete/{clientId}","href":"/api-reference/client-management/delete-client-tokens-1"},{"title":"Delete Client Tokens (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/authorization/delete/{clientId}/{subject}","href":"/api-reference/client-management/delete-client-tokens-by-subject"},{"title":"Get Granted Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/granted_scopes/get/{clientId}","href":"/api-reference/client-management/get-granted-scopes"},{"title":"Get Granted Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/granted_scopes/get/{clientId}","href":"/api-reference/client-management/get-granted-scopes-1"},{"title":"Get Granted Scopes (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/granted_scopes/get/{clientId}/{subject}","href":"/api-reference/client-management/get-granted-scopes-by-subject"},{"title":"Delete Granted Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/granted_scopes/delete/{clientId}","href":"/api-reference/client-management/delete-granted-scopes"},{"title":"Delete Granted Scopes (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/granted_scopes/delete/{clientId}/{subject}","href":"/api-reference/client-management/delete-granted-scopes-by-subject"},{"title":"List Clients (Cursor Pagination)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client","href":"/api-reference/client-management/list-clients-cursor-pagination"},{"title":"Search Clients","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/search","href":"/api-reference/client-management/search-clients"},{"title":"Get Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/extension/requestable_scopes/get/{clientId}","href":"/api-reference/client-management/get-requestable-scopes"},{"title":"Update Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples put /api/{serviceId}/client/extension/requestable_scopes/update/{clientId}","href":"/api-reference/client-management/update-requestable-scopes"},{"title":"Update Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/extension/requestable_scopes/update/{clientId}","href":"/api-reference/client-management/update-requestable-scopes-1"},{"title":"Delete Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/extension/requestable_scopes/delete/{clientId}","href":"/api-reference/client-management/delete-requestable-scopes"}]},{"group":"Authorization Endpoint","pages":[{"title":"Process Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization","href":"/api-reference/authorization-endpoint/process-authorization-request"},{"title":"Fail Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/fail","href":"/api-reference/authorization-endpoint/fail-authorization-request"},{"title":"Issue Authorization Response","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/issue","href":"/api-reference/authorization-endpoint/issue-authorization-response"},{"title":"Get Ticket Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/ticket/info","href":"/api-reference/authorization-endpoint/get-ticket-information"},{"title":"Update Ticket Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/ticket/update","href":"/api-reference/authorization-endpoint/update-ticket-information"}]},{"group":"Pushed Authorization Endpoint","pages":[{"title":"Process Pushed Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/pushed_auth_req","href":"/api-reference/pushed-authorization-endpoint/process-pushed-authorization-request"}]},{"group":"Token Endpoint","pages":[{"title":"Process Token Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token","href":"/api-reference/token-endpoint/process-token-request"},{"title":"Fail Token Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/fail","href":"/api-reference/token-endpoint/fail-token-request"},{"title":"Issue Token Response","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/issue","href":"/api-reference/token-endpoint/issue-token-response"},{"title":"Reissue ID Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/idtoken/reissue","href":"/api-reference/token-endpoint/reissue-id-token"}]},{"group":"Introspection Endpoint","pages":[{"title":"Process Introspection Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/introspection","href":"/api-reference/introspection-endpoint/process-introspection-request"},{"title":"Process OAuth 2.0 Introspection Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/introspection/standard","href":"/api-reference/introspection-endpoint/process-oauth-20-introspection-request"}]},{"group":"Revocation Endpoint","pages":[{"title":"Process Revocation Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/revocation","href":"/api-reference/revocation-endpoint/process-revocation-request"}]},{"group":"UserInfo Endpoint","pages":[{"title":"Process UserInfo Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/userinfo","href":"/api-reference/userinfo-endpoint/process-userinfo-request"},{"title":"Issue UserInfo Response","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/userinfo/issue","href":"/api-reference/userinfo-endpoint/issue-userinfo-response"}]},{"group":"Grant Management Endpoint","pages":[{"title":"Process Grant Management Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/gm","href":"/api-reference/grant-management-endpoint/process-grant-management-request"}]},{"group":"Dynamic Client Registration","pages":[{"title":"Register Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration","href":"/api-reference/dynamic-client-registration/register-client"},{"title":"Get Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration/get","href":"/api-reference/dynamic-client-registration/get-client"},{"title":"Update Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration/update","href":"/api-reference/dynamic-client-registration/update-client"},{"title":"Delete Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration/delete","href":"/api-reference/dynamic-client-registration/delete-client"}]},{"group":"CIBA","pages":[{"title":"Process Backchannel Authentication Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication","href":"/api-reference/ciba/process-backchannel-authentication-request"},{"title":"Issue Backchannel Authentication Response","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication/issue","href":"/api-reference/ciba/issue-backchannel-authentication-response"},{"title":"Fail Backchannel Authentication Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication/fail","href":"/api-reference/ciba/fail-backchannel-authentication-request"},{"title":"Complete Backchannel Authentication","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication/complete","href":"/api-reference/ciba/complete-backchannel-authentication"}]},{"group":"Back-Channel Logout","pages":[{"title":"Backchannel Logout Token Issuing","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/logout/token","href":"/api-reference/back-channel-logout/backchannel-logout-token-issuing"}]},{"group":"Device Flow","pages":[{"title":"Process Device Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/device/authorization","href":"/api-reference/device-flow/process-device-authorization-request"},{"title":"Process Device Verification Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/device/verification","href":"/api-reference/device-flow/process-device-verification-request"},{"title":"Complete Device Authorization","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/device/complete","href":"/api-reference/device-flow/complete-device-authorization"}]},{"group":"Token Operations","pages":[{"title":"List Issued Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/auth/token/get/list","href":"/api-reference/token-operations/list-issued-tokens"},{"title":"Create Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/create","href":"/api-reference/token-operations/create-access-token"},{"title":"Update Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/update","href":"/api-reference/token-operations/update-access-token"},{"title":"Delete Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/auth/token/delete/{accessTokenIdentifier}","href":"/api-reference/token-operations/delete-access-token"},{"title":"Revoke Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/revoke","href":"/api-reference/token-operations/revoke-access-token"}]},{"group":"Federation Endpoint","pages":[{"title":"Process Entity Configuration Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/federation/configuration","href":"/api-reference/federation-endpoint/process-entity-configuration-request"},{"title":"Process Federation Registration Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/federation/registration","href":"/api-reference/federation-endpoint/process-federation-registration-request"}]},{"group":"Hardware Security Key","pages":[{"title":"Create Security Key","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/hsk/create","href":"/api-reference/hardware-security-key/create-security-key"},{"title":"Delete Security Key","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/hsk/delete/{handle}","href":"/api-reference/hardware-security-key/delete-security-key"},{"title":"Get Security Key","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/hsk/get/{handle}","href":"/api-reference/hardware-security-key/get-security-key"},{"title":"List Security Keys","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/hsk/get/list","href":"/api-reference/hardware-security-key/list-security-keys"}]},{"group":"Verifiable Credential Issuer","pages":[{"title":"Get Verifiable Credential Issuer Metadata","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/metadata","href":"/api-reference/verifiable-credential-issuer/get-verifiable-credential-issuer-metadata"},{"title":"Get JWT Issuer Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/jwtissuer","href":"/api-reference/verifiable-credential-issuer/get-jwt-issuer-information"},{"title":"Get JSON Web Key Set","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/jwks","href":"/api-reference/verifiable-credential-issuer/get-json-web-key-set"},{"title":"Create Credential Offer","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/offer/create","href":"/api-reference/verifiable-credential-issuer/create-credential-offer"},{"title":"Get Credential Offer Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/offer/info","href":"/api-reference/verifiable-credential-issuer/get-credential-offer-information"},{"title":"Parse Single Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/single/parse","href":"/api-reference/verifiable-credential-issuer/parse-single-credential"},{"title":"Issue Single Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/single/issue","href":"/api-reference/verifiable-credential-issuer/issue-single-credential"},{"title":"Parse Batch Credentials","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/batch/parse","href":"/api-reference/verifiable-credential-issuer/parse-batch-credentials"},{"title":"Issue Batch Credentials","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/batch/issue","href":"/api-reference/verifiable-credential-issuer/issue-batch-credentials"},{"title":"Parse Deferred Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/deferred/parse","href":"/api-reference/verifiable-credential-issuer/parse-deferred-credential"},{"title":"Issue Deferred Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/deferred/issue","href":"/api-reference/verifiable-credential-issuer/issue-deferred-credential"}]},{"group":"Lifecycle","pages":[{"title":"Health Check","description":"Perform a health check of the server.\n","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/lifecycle/healthcheck","href":"/api-reference/lifecycle/health-check"}]},{"group":"Native SSO","pages":[{"title":"Native SSO Processing","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/nativesso","href":"/api-reference/native-sso/native-sso-processing"},{"title":"Native SSO Logout Processing","description":"The `/nativesso/logout` API is supposed to be used to support the concept of \"logout from all applications\" in the context of [OpenID Connect Native SSO for Mobile Apps 1.0](https://openid.net/specs/openid-connect-native-sso-1_0.html) (Native SSO). This is accomplished by deleting access/refresh token records associated with the specified session ID. In Authlete's implementation, access/refresh token records can be associated with a session ID only through the mechanism introduced by Native SSO.","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/nativesso/logout","href":"/api-reference/native-sso/native-sso-logout-processing"}]}]}]},{"tab":"Protocols \u0026 Flows","pages":[{"title":"Protocols \u0026 Flows","href":"/protocols-and-flows/basic-oauth-oidc-flows/oauth-2-0-and-openid-connect-authorization-endpoints"}]},{"tab":"Configuration Reference","pages":[{"title":"Configuration Reference","href":"/configuration-reference/endpoints/handling-request-parameters"}]},{"tab":"Deployment \u0026 Operations","pages":[{"title":"Deployment \u0026 Operations","href":"/deployment-and-operations/terraform/introduction"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes/console/2026-09"}]}]},{"version":"2.x","default":false,"pages":[{"title":"2.x","href":"/get-started/introduction-to-authlete"}]}]},{"language":"ja","versions":[{"version":"3.x","default":true,"tabs":[{"tab":"はじめに","pages":[{"title":"はじめに","href":"/ja/get-started/introduction-to-authlete/overview"}]},{"tab":"API リファレンス","groups":[{"group":"Authlete","expanded":true,"pages":[{"group":"Service Management","pages":[{"title":"Get Service","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/service/get","href":"/api-reference/service-management/get-service"},{"title":"List Services","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/service/get/list","href":"/api-reference/service-management/list-services"},{"title":"Update Service","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/service/update","href":"/api-reference/service-management/update-service"},{"title":"Create Service (IDP)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/service","href":"/api-reference/service-management/create-service-idp"},{"title":"Remove Service (IDP) ⚡","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/service/remove","href":"/api-reference/service-management/remove-service-idp-⚡"},{"title":"Get Service Configuration","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/service/configuration","href":"/api-reference/service-management/get-service-configuration"}]},{"group":"Audit Logs","pages":[{"title":"Get Audit Logs","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/audit/entries","href":"/api-reference/audit-logs/get-audit-logs"},{"title":"Get Audit Log Event Types","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/audit/types","href":"/api-reference/audit-logs/get-audit-log-event-types"}]},{"group":"Client Management","pages":[{"title":"Get Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/get/{clientId}","href":"/api-reference/client-management/get-client"},{"title":"List Clients","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/get/list","href":"/api-reference/client-management/list-clients"},{"title":"Create Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/create","href":"/api-reference/client-management/create-client"},{"title":"Update Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/update/{clientId}","href":"/api-reference/client-management/update-client"},{"title":"Delete Client ⚡","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/delete/{clientId}","href":"/api-reference/client-management/delete-client-⚡"},{"title":"Update Client Lock","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/lock_flag/update/{clientIdentifier}","href":"/api-reference/client-management/update-client-lock"},{"title":"Rotate Client Secret","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/secret/refresh/{clientIdentifier}","href":"/api-reference/client-management/rotate-client-secret"},{"title":"Update Client Secret","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/secret/update/{clientIdentifier}","href":"/api-reference/client-management/update-client-secret"},{"title":"Get Authorized Applications","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/authorization/get/list","href":"/api-reference/client-management/get-authorized-applications"},{"title":"Get Authorized Applications","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/authorization/get/list","href":"/api-reference/client-management/get-authorized-applications-1"},{"title":"Get Authorized Applications (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/authorization/get/list/{subject}","href":"/api-reference/client-management/get-authorized-applications-by-subject"},{"title":"Update Client Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/authorization/update/{clientId}","href":"/api-reference/client-management/update-client-tokens"},{"title":"Delete Client Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/authorization/delete/{clientId}","href":"/api-reference/client-management/delete-client-tokens"},{"title":"Delete Client Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/authorization/delete/{clientId}","href":"/api-reference/client-management/delete-client-tokens-1"},{"title":"Delete Client Tokens (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/authorization/delete/{clientId}/{subject}","href":"/api-reference/client-management/delete-client-tokens-by-subject"},{"title":"Get Granted Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/granted_scopes/get/{clientId}","href":"/api-reference/client-management/get-granted-scopes"},{"title":"Get Granted Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/granted_scopes/get/{clientId}","href":"/api-reference/client-management/get-granted-scopes-1"},{"title":"Get Granted Scopes (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/granted_scopes/get/{clientId}/{subject}","href":"/api-reference/client-management/get-granted-scopes-by-subject"},{"title":"Delete Granted Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/granted_scopes/delete/{clientId}","href":"/api-reference/client-management/delete-granted-scopes"},{"title":"Delete Granted Scopes (by Subject)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/granted_scopes/delete/{clientId}/{subject}","href":"/api-reference/client-management/delete-granted-scopes-by-subject"},{"title":"List Clients (Cursor Pagination)","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client","href":"/api-reference/client-management/list-clients-cursor-pagination"},{"title":"Search Clients","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/search","href":"/api-reference/client-management/search-clients"},{"title":"Get Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/client/extension/requestable_scopes/get/{clientId}","href":"/api-reference/client-management/get-requestable-scopes"},{"title":"Update Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples put /api/{serviceId}/client/extension/requestable_scopes/update/{clientId}","href":"/api-reference/client-management/update-requestable-scopes"},{"title":"Update Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/extension/requestable_scopes/update/{clientId}","href":"/api-reference/client-management/update-requestable-scopes-1"},{"title":"Delete Requestable Scopes","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/client/extension/requestable_scopes/delete/{clientId}","href":"/api-reference/client-management/delete-requestable-scopes"}]},{"group":"Authorization Endpoint","pages":[{"title":"Process Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization","href":"/api-reference/authorization-endpoint/process-authorization-request"},{"title":"Fail Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/fail","href":"/api-reference/authorization-endpoint/fail-authorization-request"},{"title":"Issue Authorization Response","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/issue","href":"/api-reference/authorization-endpoint/issue-authorization-response"},{"title":"Get Ticket Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/ticket/info","href":"/api-reference/authorization-endpoint/get-ticket-information"},{"title":"Update Ticket Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/authorization/ticket/update","href":"/api-reference/authorization-endpoint/update-ticket-information"}]},{"group":"Pushed Authorization Endpoint","pages":[{"title":"Process Pushed Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/pushed_auth_req","href":"/api-reference/pushed-authorization-endpoint/process-pushed-authorization-request"}]},{"group":"Token Endpoint","pages":[{"title":"Process Token Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token","href":"/api-reference/token-endpoint/process-token-request"},{"title":"Fail Token Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/fail","href":"/api-reference/token-endpoint/fail-token-request"},{"title":"Issue Token Response","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/issue","href":"/api-reference/token-endpoint/issue-token-response"},{"title":"Reissue ID Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/idtoken/reissue","href":"/api-reference/token-endpoint/reissue-id-token"}]},{"group":"Introspection Endpoint","pages":[{"title":"Process Introspection Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/introspection","href":"/api-reference/introspection-endpoint/process-introspection-request"},{"title":"Process OAuth 2.0 Introspection Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/introspection/standard","href":"/api-reference/introspection-endpoint/process-oauth-20-introspection-request"}]},{"group":"Revocation Endpoint","pages":[{"title":"Process Revocation Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/revocation","href":"/api-reference/revocation-endpoint/process-revocation-request"}]},{"group":"UserInfo Endpoint","pages":[{"title":"Process UserInfo Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/userinfo","href":"/api-reference/userinfo-endpoint/process-userinfo-request"},{"title":"Issue UserInfo Response","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/userinfo/issue","href":"/api-reference/userinfo-endpoint/issue-userinfo-response"}]},{"group":"Grant Management Endpoint","pages":[{"title":"Process Grant Management Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/gm","href":"/api-reference/grant-management-endpoint/process-grant-management-request"}]},{"group":"Dynamic Client Registration","pages":[{"title":"Register Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration","href":"/api-reference/dynamic-client-registration/register-client"},{"title":"Get Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration/get","href":"/api-reference/dynamic-client-registration/get-client"},{"title":"Update Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration/update","href":"/api-reference/dynamic-client-registration/update-client"},{"title":"Delete Client","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/client/registration/delete","href":"/api-reference/dynamic-client-registration/delete-client"}]},{"group":"CIBA","pages":[{"title":"Process Backchannel Authentication Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication","href":"/api-reference/ciba/process-backchannel-authentication-request"},{"title":"Issue Backchannel Authentication Response","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication/issue","href":"/api-reference/ciba/issue-backchannel-authentication-response"},{"title":"Fail Backchannel Authentication Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication/fail","href":"/api-reference/ciba/fail-backchannel-authentication-request"},{"title":"Complete Backchannel Authentication","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/authentication/complete","href":"/api-reference/ciba/complete-backchannel-authentication"}]},{"group":"Back-Channel Logout","pages":[{"title":"Backchannel Logout Token Issuing","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/backchannel/logout/token","href":"/api-reference/back-channel-logout/backchannel-logout-token-issuing"}]},{"group":"Device Flow","pages":[{"title":"Process Device Authorization Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/device/authorization","href":"/api-reference/device-flow/process-device-authorization-request"},{"title":"Process Device Verification Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/device/verification","href":"/api-reference/device-flow/process-device-verification-request"},{"title":"Complete Device Authorization","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/device/complete","href":"/api-reference/device-flow/complete-device-authorization"}]},{"group":"Token Operations","pages":[{"title":"List Issued Tokens","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/auth/token/get/list","href":"/api-reference/token-operations/list-issued-tokens"},{"title":"Create Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/create","href":"/api-reference/token-operations/create-access-token"},{"title":"Update Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/update","href":"/api-reference/token-operations/update-access-token"},{"title":"Delete Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/auth/token/delete/{accessTokenIdentifier}","href":"/api-reference/token-operations/delete-access-token"},{"title":"Revoke Access Token","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/auth/token/revoke","href":"/api-reference/token-operations/revoke-access-token"}]},{"group":"Federation Endpoint","pages":[{"title":"Process Entity Configuration Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/federation/configuration","href":"/api-reference/federation-endpoint/process-entity-configuration-request"},{"title":"Process Federation Registration Request","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/federation/registration","href":"/api-reference/federation-endpoint/process-federation-registration-request"}]},{"group":"Hardware Security Key","pages":[{"title":"Create Security Key","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/hsk/create","href":"/api-reference/hardware-security-key/create-security-key"},{"title":"Delete Security Key","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples delete /api/{serviceId}/hsk/delete/{handle}","href":"/api-reference/hardware-security-key/delete-security-key"},{"title":"Get Security Key","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/hsk/get/{handle}","href":"/api-reference/hardware-security-key/get-security-key"},{"title":"List Security Keys","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/{serviceId}/hsk/get/list","href":"/api-reference/hardware-security-key/list-security-keys"}]},{"group":"Verifiable Credential Issuer","pages":[{"title":"Get Verifiable Credential Issuer Metadata","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/metadata","href":"/api-reference/verifiable-credential-issuer/get-verifiable-credential-issuer-metadata"},{"title":"Get JWT Issuer Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/jwtissuer","href":"/api-reference/verifiable-credential-issuer/get-jwt-issuer-information"},{"title":"Get JSON Web Key Set","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/jwks","href":"/api-reference/verifiable-credential-issuer/get-json-web-key-set"},{"title":"Create Credential Offer","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/offer/create","href":"/api-reference/verifiable-credential-issuer/create-credential-offer"},{"title":"Get Credential Offer Information","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/offer/info","href":"/api-reference/verifiable-credential-issuer/get-credential-offer-information"},{"title":"Parse Single Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/single/parse","href":"/api-reference/verifiable-credential-issuer/parse-single-credential"},{"title":"Issue Single Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/single/issue","href":"/api-reference/verifiable-credential-issuer/issue-single-credential"},{"title":"Parse Batch Credentials","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/batch/parse","href":"/api-reference/verifiable-credential-issuer/parse-batch-credentials"},{"title":"Issue Batch Credentials","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/batch/issue","href":"/api-reference/verifiable-credential-issuer/issue-batch-credentials"},{"title":"Parse Deferred Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/deferred/parse","href":"/api-reference/verifiable-credential-issuer/parse-deferred-credential"},{"title":"Issue Deferred Credential","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/vci/deferred/issue","href":"/api-reference/verifiable-credential-issuer/issue-deferred-credential"}]},{"group":"Lifecycle","pages":[{"title":"Health Check","description":"Perform a health check of the server.\n","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples get /api/lifecycle/healthcheck","href":"/api-reference/lifecycle/health-check"}]},{"group":"Native SSO","pages":[{"title":"Native SSO Processing","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/nativesso","href":"/api-reference/native-sso/native-sso-processing"},{"title":"Native SSO Logout Processing","description":"The `/nativesso/logout` API is supposed to be used to support the concept of \"logout from all applications\" in the context of [OpenID Connect Native SSO for Mobile Apps 1.0](https://openid.net/specs/openid-connect-native-sso-1_0.html) (Native SSO). This is accomplished by deleting access/refresh token records associated with the specified session ID. In Authlete's implementation, access/refresh token records can be associated with a session ID only through the mechanism introduced by Native SSO.","deprecated":null,"version":null,"openapi":"https://spec.speakeasy.com/authlete/sdk-workspace/authlete-api-explorer-with-code-samples post /api/{serviceId}/nativesso/logout","href":"/api-reference/native-sso/native-sso-logout-processing"}]}]}]},{"tab":"プロトコル \u0026 フロー","pages":[{"title":"プロトコル \u0026 フロー","href":"/ja/protocols-and-flows/basic-oauth-oidc-flows/oauth-2-0-and-openid-connect-authorization-endpoints"}]},{"tab":"設定リファレンス","pages":[{"title":"設定リファレンス","href":"/ja/configuration-reference/endpoints/handling-request-parameters"}]},{"tab":"デプロイと運用","pages":[{"title":"デプロイと運用","href":"/ja/deployment-and-operations/terraform/introduction"}]},{"tab":"リリースノート","pages":[{"title":"リリースノート","href":"/ja/release-notes/console/2026-09"}]}]},{"version":"2.x","default":false,"pages":[{"title":"2.x","href":"/ja/get-started/introduction-to-authlete/overview"}]}]}]},"title":"Native SSO Processing - Authlete Documentation","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Bbp7I60D.js","utils-C3RIvJha.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DqD-vLt8.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B31Loprg.js","snippetPresets-DKpk-b8t.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Cj65AhOR.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BXtn5gcC.js","shallow-RY2b03Cp.js","getApiPlaygroundDisplay-B0jeiPk3.js","CodeSnippet-CYgBjjwn.js","CodeSnippets-DOngDrYB.js","Page-n7I5XbKb.js","getPastedJson-DRQbJx-T.js","icon-CQiQCicY.js","MethodPill-BKTLdNtu.js","DuplicateIcon-B9jpAdat.js","createIcon-DCddRrXv.js","DynamicMarkdown-a8hUKrw6.js","SectionHeading-eECVV2eH.js","axios-vUo_bRtp.js","Markdown--GF7ZIpf.js","clsx-DZLdJUrt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-2LoAhjKH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Zwc0ZncM.js"]}