RFC 9396: OAuth 2.0 Rich Authorization Requests
(RAR for short) is a proposed standard extension of OAuth 2.0. It allows clients to use JSON data structures to specify more fine-grained authorization requirements than an existing capability of “scope” parameter.This article describes the support for RAR on Authlete and how you can use it to represent fine-grained permissions.
“scope” is a mechanism introduced by OAuth 2 Authorization Framework
specification for representing the permissions granted to a third party by a resource owner. You can assign a specific semantic to a scope to represent a permission or an option.For instance: OpenID Connect specification defines the “openid” scope as well as “profile” among others. While “profile” grants to 3rd party access to specific attributes
of the user profile, the “openid” scope has a different semantic: it implies an option to generate an ID token and an access permission to UserInfo endpoint.With the broad usage of OAuth 2, new use cases rise and as such new technical solutions are required. The RAR specification addresses scenarios where thrid parties are required to express an intent with more context for user approval, e.g., online payments, file sharing, health exams etc.
RAR defines a common JSON structure for the finer grained permissions, where each permission has a “type” attribute, and optionally “locations”, “actions”, “datatypes”, “identifier”, “privileges”, and others defined by the parties. You can check the structure description under Request parameter “authorization_details”
section.The idea is that an authorization server (AS), or an ecosystem that the AS is in, will define different “types” identifiers and their semantics: what do they represent, their structure, their meaning to end users, and association to the other attributes. It will precisely define the permission to be requested to end user.The “locations” attribute has the same concept of the Resource Indicators mechanism, where the location specifies a resource server URI that the permission is about. With the attribute “identifier”, you can point to the specific resource on requesting permissions. While the “locations” indicate a branch of resources, the “identifier” points to a single resource, for short.The “actions” is a big step forward as it can represent for instance: the action on a filesystem, the action on the bank account, an action on medical device, an act on an appliance, a permission on a database, etc.The “datatypes” and “privileges” can be used to represent specifics of the entitlements been requested.
{"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":"protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec","slug":"/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec","pageMetadata":{"title":"Rich Authorization Requests (RAR)","sidebarTitle":"RAR (RFC 9396)","description":"Overview of OAuth 2.0 Rich Authorization Requests (RAR) for fine-grained permission representation","href":"/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Overview of OAuth 2.0 Rich Authorization Requests (RAR) for fine-grained permission representation\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`preface`,children:`Preface`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://www.rfc-editor.org/rfc/rfc9396`,children:`RFC 9396: OAuth 2.0 Rich Authorization Requests`}),`\n(RAR for short) is a proposed standard extension of OAuth 2.0. It allows clients to use JSON data structures to specify more fine-grained authorization requirements than an existing capability of “scope” parameter.`]}),`\n`,_jsx(_components.p,{children:`This article describes the support for RAR on Authlete and how you can use it to represent fine-grained permissions.`}),`\n`,_jsx(Heading,{level:`2`,id:`rar-overview`,children:`RAR overview`}),`\n`,_jsxs(_components.p,{children:[`“scope” is a mechanism introduced by `,_jsx(_components.a,{href:`https://datatracker.ietf.org/doc/html/rfc6749`,children:`OAuth 2 Authorization Framework`}),`\nspecification for representing the permissions granted to a third party by a resource owner. You can assign a specific semantic to a scope to represent a permission or an option.`]}),`\n`,_jsxs(_components.p,{children:[`For instance: OpenID Connect specification defines the “openid” scope as well as “profile” among others. While “profile” grants to 3rd party access to `,_jsx(_components.a,{href:`https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims`,children:`specific attributes`}),`\nof the user profile, the “openid” scope has a different semantic: it implies an option to generate an ID token and an access permission to UserInfo endpoint.`]}),`\n`,_jsx(_components.p,{children:`With the broad usage of OAuth 2, new use cases rise and as such new technical solutions are required. The RAR specification addresses scenarios where thrid parties are required to express an intent with more context for user approval, e.g., online payments, file sharing, health exams etc.`}),`\n`,_jsx(Heading,{level:`3`,id:`rar-structure`,children:`RAR structure`}),`\n`,_jsxs(_components.p,{children:[`RAR defines a common JSON structure for the finer grained permissions, where each permission has a “type” attribute, and optionally “locations”, “actions”, “datatypes”, “identifier”,\\xA0 “privileges”, and others defined by the parties. You can check the structure description under `,_jsx(_components.a,{href:`https://datatracker.ietf.org/doc/html/draft-ietf-oauth-rar#section-2`,children:`Request parameter “authorization_details”`}),`\nsection.`]}),`\n`,_jsx(_components.p,{children:`The idea is that an authorization server (AS), or an ecosystem that the AS is in, will define different “types” identifiers and their semantics: what do they represent, their structure, their meaning to end users, and association to the other attributes. It will precisely define the permission to be requested to end user.`}),`\n`,_jsxs(_components.p,{children:[`The “locations” attribute has the same concept of the `,_jsx(_components.a,{href:`/configuration-reference/tokens-and-claims/resource-indicators`,children:`Resource Indicators mechanism`}),`, where the location specifies a resource server URI that the permission is about. With the attribute “identifier”, you can point to the specific resource on requesting permissions. While the “locations” indicate a branch of resources, the “identifier” points to a single resource, for short.`]}),`\n`,_jsx(_components.p,{children:`The “actions” is a big step forward as it can represent for instance: the action on a filesystem, the action on the bank account, an action on medical device, an act on an appliance, a permission on a database, etc.`}),`\n`,_jsx(_components.p,{children:`The “datatypes” and “privileges” can be used to represent specifics of the entitlements been requested.`}),`\n`,_jsx(Heading,{level:`2`,id:`configuration`,children:`Configuration`}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/configuration-reference/tokens-and-claims/rich-authorization-requests-rar`,children:`Configuring RAR`}),`.`]})]})}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":"Rich Authorization Requests (RAR)","sidebarTitle":"RAR (RFC 9396)","description":"Overview of OAuth 2.0 Rich Authorization Requests (RAR) for fine-grained permission representation","href":"/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Preface","slug":"preface","depth":2,"children":[]},{"title":"RAR overview","slug":"rar-overview","depth":2,"children":[{"title":"RAR structure","slug":"rar-structure","depth":3,"children":[]}]},{"title":"Configuration","slug":"configuration","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/authlete/a07b398e9c8556ba/snippets/oauth-dynamic.js"],"subdomain":"authlete","siteName":"Authlete Documentation","title":"Rich Authorization Requests (RAR) - Authlete Documentation","navMaps":{"firstHrefInVersion":{"3.x":{"href":"/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec","matchLevel":0},"2.x":{"href":"/get-started/introduction-to-authlete/index","matchLevel":4}},"firstHrefInLanguage":{"en":{"href":"/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec","matchLevel":0},"ja":{"href":"/ja/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec","matchLevel":1}}},"lastModified":"2026-07-13T20:00:14.918Z","originalFileLocation":"protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec.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=\"Overview of OAuth 2.0 Rich Authorization Requests (RAR) for fine-grained permission representation\">\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=\"Rich Authorization Requests (RAR) - Authlete Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Overview of OAuth 2.0 Rich Authorization Requests (RAR) for fine-grained permission representation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Authlete Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.authlete.com/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec\">\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=Protocol+Extensions\u0026amp;title=Rich+Authorization+Requests+%28RAR%29\u0026amp;description=Overview+of+OAuth+2.0+Rich+Authorization+Requests+%28RAR%29+for+fine-grained+permission+representation\u0026amp;theme=9a33e57959880538f1449aa0\u0026amp;signature=8c220747b81e03bd526c330357a53823b1f44422299aafb4a693224b160a7a21\">\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=\"Rich Authorization Requests (RAR) - Authlete Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Overview of OAuth 2.0 Rich Authorization Requests (RAR) for fine-grained permission representation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://authlete.mintlify.app/_mintlify/api/og/v2?division=Protocol+Extensions\u0026amp;title=Rich+Authorization+Requests+%28RAR%29\u0026amp;description=Overview+of+OAuth+2.0+Rich+Authorization+Requests+%28RAR%29+for+fine-grained+permission+representation\u0026amp;theme=9a33e57959880538f1449aa0\u0026amp;signature=8c220747b81e03bd526c330357a53823b1f44422299aafb4a693224b160a7a21\">\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/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://developers.authlete.com/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://developers.authlete.com/ja/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://developers.authlete.com/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec\">\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/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec#webpage\",\"url\":\"https://developers.authlete.com/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec\",\"name\":\"Rich Authorization Requests (RAR)\",\"description\":\"Overview of OAuth 2.0 Rich Authorization Requests (RAR) for fine-grained permission representation\",\"dateModified\":\"2026-07-13T20:00:14.918Z\",\"isPartOf\":{\"@id\":\"https://developers.authlete.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.authlete.com/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.authlete.com/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Protocol Extensions\",\"item\":\"https://developers.authlete.com/protocols-and-flows/protocol-extensions/proof-key-for-code-exchange-pkce\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rich Authorization Requests (RAR)\",\"item\":\"https://developers.authlete.com/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developers.authlete.com/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec#article\",\"headline\":\"Rich Authorization Requests (RAR)\",\"name\":\"Rich Authorization Requests (RAR)\",\"description\":\"Overview of OAuth 2.0 Rich Authorization Requests (RAR) for fine-grained permission representation\",\"url\":\"https://developers.authlete.com/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec\",\"mainEntityOfPage\":{\"@id\":\"https://developers.authlete.com/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec#webpage\"},\"dateModified\":\"2026-07-13T20:00:14.918Z\",\"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","pages":[{"title":"API Reference","href":"/api-reference/service-management/get-service"}]},{"tab":"Protocols \u0026 Flows","pages":[{"group":"Basic OAuth/OIDC Flows","pages":[{"title":"OAuth 2.0 and OpenID Connect Authorization Endpoints","sidebarTitle":"AuthZ EP Spec Details","href":"/protocols-and-flows/basic-oauth-oidc-flows/oauth-2-0-and-openid-connect-authorization-endpoints"}]},{"group":"Advanced Flows","pages":[{"title":"Client Initiated Backchannel Authentication (CIBA)","sidebarTitle":"CIBA","href":"/protocols-and-flows/advanced-flows/client-initiated-backchannel-authentication-ciba"},{"title":"Device Flow (OAuth 2.0 Device Authorization Grant)","sidebarTitle":"Device Flow","href":"/protocols-and-flows/advanced-flows/oauth-2-0-device-authorization-grant-device-flow"},{"title":"RFC 8693 OAuth 2.0 Token Exchange","sidebarTitle":"Token Exchange (RFC 8693)","href":"/protocols-and-flows/advanced-flows/oauth-2-0-token-exchange-rfc-8693"},{"title":"JWT Authorization Grant (RFC 7523 2.1)","sidebarTitle":"JWT Authorization Grant (RFC 7523)","href":"/protocols-and-flows/advanced-flows/jwt-authorization-grant-rfc-7523-2-1"},{"title":"Grant Management for OAuth 2.0","sidebarTitle":"Grant Management","href":"/protocols-and-flows/advanced-flows/grant-management-for-oauth-2-0"},{"title":"RFC 9470 OAuth 2.0 Step Up Authentication Challenge Protocol","sidebarTitle":"Step Up Authentication (RFC 9470)","href":"/protocols-and-flows/advanced-flows/oauth-2-0-step-up-authentication-challenge-protocol-rfc-9470"},{"title":"Native SSO","href":"/protocols-and-flows/advanced-flows/native-sso"}]},{"group":"Protocol Extensions","pages":[{"title":"Proof Key for Code Exchange (RFC 7636)","sidebarTitle":"PKCE","description":"This document describes PKCE, a countermeasure agains the authorization code interception attack, defined in RFC 7636.","href":"/protocols-and-flows/protocol-extensions/proof-key-for-code-exchange-pkce"},{"title":"Rich Authorization Requests (RAR)","sidebarTitle":"RAR (RFC 9396)","href":"/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec"},{"title":"OAuth Client ID Metadata Document (CIMD)","sidebarTitle":"CIMD","description":"Explanation about \"OAuth Client ID Metadata Document (CIMD)\" and Authlete's implementation.","href":"/protocols-and-flows/protocol-extensions/oauth-client-id-metadata-document-cimd"},{"title":"OpenID Federation 1.0","href":"/guides/flows-and-protocols/identity-and-federation/openid-federation-1-0"},{"title":"OpenID Connect Back-Channel Logout 1.0","href":"/protocols-and-flows/protocol-extensions/openid-connect-back-channel-logout-1-0"}]},{"group":"Compliance Profiles","pages":[{"title":"Comprehensive API Protection with Standard Specifications","href":"/protocols-and-flows/compliance-profiles/comprehensive-api-protection-with-standard-specifications"},{"title":"Financial-grade API (FAPI)","href":"/protocols-and-flows/compliance-profiles/financial-grade-api-fapi-overview"},{"title":"How to use FAPI feature","href":"/protocols-and-flows/compliance-profiles/how-to-use-fapi"},{"group":"FAPI 1.0","pages":[{"title":"Financial-grade API (FAPI) Basics","href":"/protocols-and-flows/compliance-profiles/fapi-basics"},{"title":"Configuring FAPI 1.0","sidebarTitle":"Configuring FAPI 1.0","href":"/protocols-and-flows/compliance-profiles/fapi-1-0-configuration"},{"title":"Validation in FAPI mode","href":"/protocols-and-flows/compliance-profiles/validation-in-fapi-mode"},{"title":"FAPI Basics Supplement: Integration with Reference Implementations","href":"/protocols-and-flows/compliance-profiles/fapi-basics-supplement-integration-with-reference-implementations"}]},{"group":"FAPI 2.0 Security Profile","pages":[{"title":"FAPI 2.0","href":"/protocols-and-flows/compliance-profiles/fapi-2-0"},{"title":"Supporting FAPI 2.0 Security Profile with Authlete","sidebarTitle":"FAPI 2.0 Security Profile","href":"/protocols-and-flows/compliance-profiles/supporting-fapi-2-0-security-profile-with-authlete"},{"title":"Supporting FAPI 2.0 Message Signing Profile: Signing Authorization Requests with Authlete","sidebarTitle":"FAPI 2.0 Message Signing: Authorization Requests","href":"/protocols-and-flows/compliance-profiles/fapi-2-0-message-signing-profile-signing-authorization-requests"},{"title":"Supporting FAPI 2.0 Message Signing Profile: Signing Authorization Responses with Authlete","sidebarTitle":"FAPI 2.0 Message Signing: Authorization Responses","href":"/protocols-and-flows/compliance-profiles/supporting-fapi-2-0-message-signing-profile-signing-authorization-responses"}]},{"title":"HAIP-compliant Verifiable Credential Issuance","href":"/protocols-and-flows/compliance-profiles/haip-compliant-verifiable-credential-issuance"}]},{"group":"Verifiable Credentials","pages":[{"title":"OpenID for Verifiable Credential Issuance","href":"/protocols-and-flows/verifiable-credentials/openid-for-verifiable-credential-issuance"}]}]},{"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","pages":[{"title":"ja","href":"/ja/protocols-and-flows/protocol-extensions/rich-authorization-requests-rar-spec"}]}]},"title":"Rich Authorization Requests (RAR) - Authlete Documentation","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":[],"chunks":[]}