<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.17 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-brossard-oauth-rar-authzen-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.22.0 -->
  <front>
    <title abbrev="AuthZEN RAR Profile">AuthZEN Request/Response Profile for OAuth 2.0 Rich Authorization Requests</title>
    <seriesInfo name="Internet-Draft" value="draft-brossard-oauth-rar-authzen-01"/>
    <author fullname="David Brossard">
      <organization>Axiomatics</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>david.brossard@axiomatics.com</email>
      </address>
    </author>
    <author fullname="Omri Gazitt">
      <organization>Aserto</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>omri@aserto.com</email>
      </address>
    </author>
    <author fullname="Alex Babeanu">
      <organization>3Edges</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>alex@3edges.com</email>
      </address>
    </author>
    <date year="2024" month="July" day="04"/>
    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>authorization</keyword>
    <keyword>abac</keyword>
    <keyword>authzen</keyword>
    <keyword>openid</keyword>
    <abstract>
      <?line 127?>

<t>This specification defines a profile of OAuth 2.0 Rich Authorization Requests leveraging the OpenID AuthZEN authorization request/response formats within the <tt>authorization_details</tt> JSON object. Authorization servers and resource servers from different vendors can leverage this profile to request and receive relevant authorization decisions from an AuthZEN-compatible PDP in an interoperable manner.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://davidjbrossard.github.io/authzen-rar-profile/draft-brossard-oauth-rar-authzen.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-brossard-oauth-rar-authzen/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Web Authorization Protocol Working Group mailing list (<eref target="mailto:oauth@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/oauth/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/oauth/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/davidjbrossard/authzen-rar-profile"/>.</t>
    </note>
  </front>
  <middle>
    <?line 131?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>OpenID AuthZEN is a Working Group under the OpenID Foundation which aims to increase interoperability and standardization in the authorization realm. In particular, AuthZEN aims to:</t>
      <ul spacing="normal">
        <li>
          <t>build standards-based authorization APIs</t>
        </li>
        <li>
          <t>define standard design patterns for authorization</t>
        </li>
        <li>
          <t>produce educational material to help raise awareness of externalized authorization.</t>
        </li>
      </ul>
      <t>The aim of this profile is to define an AuthZEN-conformant profile of the OAuth 2.0 Rich Authorization Requests <xref target="RFC9396"/>. <xref target="RFC9396"/> introduces a new parameter <tt>authorization_details</tt> that allows clients to specify their fine-grained authorization requirements using the expressiveness of JSON <xref target="RFC8259"/> data structures.</t>
      <t>This specification introduces a more structured format for the <tt>authorization_details</tt> parameter. The new format is also JSON <xref target="RFC8259"/> as a result of which this specification is conformant with <xref target="RFC9396"/> and is merely a stricter profile.</t>
      <t>For example the authorization request for a credit transfer mentioned in <xref target="RFC9396"/> would now be structured as follows</t>
      <figure>
        <name>Source Authorization Request</name>
        <sourcecode type="language-json" markers="false"><![CDATA[
{
    "subject": {
        "type": "user",
        "id": "Alice"
    },
    "resource": {
        "type": "payment_initiation",
        "id": "123",
        "recipient": {
            "creditorName": "Merchant A",
            "creditorAccount": {
                "bic": "ABCIDEFFXXX",
                "iban": "DE02100100109307118603"
            }
        }
    },
    "action": {
        "name": "transfer",
        "instructedAmount": {
            "currency": "EUR",
            "amount": "123.50"
        }
    },
    "context": {
        "remittance": "Ref Number Merchant"
    }
}
]]></sourcecode>
      </figure>
      <t>Using AuthZEN as a format for <tt>authorization_details</tt> will increase the usability and the interoperability of <xref target="RFC9396"/>. In particular, it will be possible for the AS to forward the contents of the <tt>authorization_details</tt> parameter to an AuthZEN-conformant Policy Decision Point (PDP).</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This specification uses the terms "access token", "refresh token", "authorization server" (AS), "resource server" (RS), "authorization endpoint", "authorization request", "authorization response", "token endpoint", "grant type", "access token request", "access token response", and "client" defined by "The OAuth 2.0 Authorization Framework" <xref target="RFC6749"/>.
This specification uses the terms "PDP" and "PEP" defined by <xref target="ABAC"/> and <xref target="XACML"/>.</t>
    </section>
    <section anchor="request-parameter-authorizationdetails">
      <name>Request Parameter <tt>authorization_details</tt></name>
      <t>In <xref target="RFC9396"/>, the request parameter <tt>authorization_details</tt> contains, in JSON
notation, an array of objects.  Each JSON object contains the data to
specify the authorization requirements for a certain type of
resource. This specification defines the format for each one of these objects
such that it conforms to <xref target="AUTHZEN"/> and <xref target="RFC9396"/>.</t>
      <t><xref target="AUTHZEN"/> groups JSON datastructures into 4 JSON objects:</t>
      <ul spacing="normal">
        <li>
          <t>subject: A Subject is the user or robotic principal about whom the Authorization API is being invoked. The Subject may be requesting access at the time the Authorization API is invoked.</t>
        </li>
        <li>
          <t>resource: A Resource is the target of an access request. It is a JSON (<xref target="RFC8259"/>) object that is constructed similar to a Subject entity.</t>
        </li>
        <li>
          <t>action: An Action is the type of access that the requester intends to perform. Action is a JSON (<xref target="RFC8259"/>) object that contains at least a name field.</t>
        </li>
        <li>
          <t>context: The Context object is a set of attributes that represent environmental or contextual data about the request such as time of day. It is a JSON (<xref target="RFC8259"/>) object.</t>
        </li>
      </ul>
      <t>Note: the aforementioned is indicative only. Always refer to <xref target="AUTHZEN"/> for the formal definition of each element.</t>
      <section anchor="authorizationdetails-structure">
        <name><tt>authorization_details</tt> Structure</name>
        <t>Because <strong>type</strong> is <strong><bcp14>REQUIRED</bcp14></strong>, the new <em>authorization_details</em> structure is as follows:</t>
        <ul spacing="normal">
          <li>
            <t>type:
An identifier for the authorization details type as a string. The value for this profile is "authzen_evaluation" or "authzen_evaluations", corresponding to the AuthZEN API being invoked. The value is case-insensitive. This field is <strong><bcp14>REQUIRED</bcp14></strong>.</t>
          </li>
          <li>
            <t>request:
this field contains the entire AuthZEN-conformant authorization request. This field is <strong><bcp14>REQUIRED</bcp14></strong>.</t>
          </li>
        </ul>
      </section>
      <section anchor="authorization-details-types">
        <name>Authorization Details Types</name>
        <t>This profile declares a new value for the <em>type</em> field as stated in the previous section. The value for this profile is "authzen_evaluation" or "authzen_evaluations". This indicates there will be another field called <tt>request</tt> and its value will be an AuthZEN-conformant authorization request.</t>
        <t>AuthZEN also defines a <em>type</em> field in the Subject and Resource categories. This field is meant to describe the type of user and/or resource required.</t>
      </section>
      <section anchor="common-data-fields">
        <name>Common Data Fields</name>
        <t>No field other than <tt>type</tt> and <tt>request</tt> shall be allowed in <tt>authorization_details</tt> when the type is <tt>authzen_evaluation</tt> or <tt>authzen_evaluations</tt>. All other fields such as the ones mentioned in <xref target="RFC9396"/> shall be inserted inside the AuthZEN request in the relevant object (Subject, Resource, Action, or Context).</t>
      </section>
    </section>
    <section anchor="authorization-request">
      <name>Authorization Request</name>
      <t>Conformant to <xref target="RFC9396"/>, the <tt>authorization_details</tt> authorization request parameter can be used to specify authorization requirements in all places where the scope parameter is used for the same purpose, examples include:</t>
      <ul spacing="normal">
        <li>
          <t>authorization requests as specified in <xref target="RFC6749"/></t>
        </li>
        <li>
          <t>device authorization requests as specified in <xref target="RFC8628"/></t>
        </li>
        <li>
          <t>backchannel authentication requests as defined in <xref target="OID-CIBA"/></t>
        </li>
      </ul>
      <t>Parameter encoding follows the exact same rules as <xref target="RFC9396"/>.</t>
      <section anchor="example-non-normative">
        <name>Example (non-normative)</name>
        <figure>
          <name>Source Authorization Request</name>
          <sourcecode type="language-json" markers="false"><![CDATA[
{
  "type": "authzen_evaluation",
  "request":
    {
        "subject": {
            "type": "user",
            "id": "Alice"
        },
        "resource": {
            "type": "payment_initiation",
            "id": "123",
            "recipient": {
                "creditorName": "Merchant A",
                "creditorAccount": {
                    "bic": "ABCIDEFFXXX",
                    "iban": "DE02100100109307118603"
                }
            }
        },
        "action": {
            "name": "transfer",
            "instructedAmount": {
                "currency": "EUR",
                "amount": "123.50"
            }
        },
        "context": {
            "remittance": "Ref Number Merchant"
        }
    }
}
]]></sourcecode>
        </figure>
      </section>
    </section>
    <section anchor="support-for-multiple-authorization-requests">
      <name>Support for Multiple Authorization Requests</name>
      <t><xref target="AUTHZEN"/> supports a profile that allows the expression of multiple authorization requests in a single JSON object. As a result, this
profile recommends the use of a single <tt>authorization_details</tt> object containing <em>boxcarred</em> requests as described in <xref target="BOXCAR"/> when
possible and the use of the <tt>authorization_details</tt> array otherwise.</t>
      <section anchor="example-non-normative-1">
        <name>Example (non-normative)</name>
        <t>This example is based on the one in <xref target="RFC9396"/> under section 3.  Authorization Request.</t>
        <sourcecode type="language-json"><![CDATA[
[
  {
    "type": "authzen_evaluations",
    "request":
    {
      "subject": {
        "id": "alice@acmecorp.com",
        "type": "user"
      },
      "resource":{
        "id": "123",
        "type": "account_information",
        "location": "https://example.com/accounts"
      },
      "evaluations": {
        "eval-1": {
          "action": {
            "name": "list_accounts"
          }
        },
        "eval-2": {
          "action": {
            "name": "read_balances"
          }
        },
        "eval-3": {
          "action": {
            "name": "read_transactions"
          }
        }
      }
    }
  },
  {
    "type": "authzen_evaluations",
    "request":
    {
      "subject": {
        "id": "alice@acmecorp.com",
        "type": "user"
      },
      "resource":{
        "id": "123",
        "type": "payment_initiation",
        "location": "https://example.com/payments",
        "recipient": {
            "creditorName": "Merchant A",
            "creditorAccount": {
                "bic": "ABCIDEFFXXX",
                "iban": "NL02RABO2228161411"
            }
        }
      },
      "context":{
        "remittance": "Ref Number Merchant"
      },
      "evaluations": {
        "eval-1": {
          "action": {
            "name": "initiate",
            "instructedAmount": {
            "currency": "EUR",
            "amount": "123.50"
            }
          }
        },
        "eval-2": {
          "action": {
            "name": "status"
          }
        },
        "eval-3": {
          "action": {
            "name": "cancel"
          }
        }
      }
    }
  }
]
]]></sourcecode>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The Security Considerations of <xref target="RFC9396"/>, <xref target="RFC6749"/>, <xref target="RFC7662"/>, and <xref target="RFC8414"/> all apply.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC7662">
          <front>
            <title>OAuth 2.0 Token Introspection</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This specification defines a method for a protected resource to query an OAuth 2.0 authorization server to determine the active state of an OAuth 2.0 token and to determine meta-information about this token. OAuth 2.0 deployments can use this method to convey information about the authorization context of the token from the authorization server to the protected resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7662"/>
          <seriesInfo name="DOI" value="10.17487/RFC7662"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC8414">
          <front>
            <title>OAuth 2.0 Authorization Server Metadata</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <date month="June" year="2018"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client can use to obtain the information needed to interact with an OAuth 2.0 authorization server, including its endpoint locations and authorization server capabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8414"/>
          <seriesInfo name="DOI" value="10.17487/RFC8414"/>
        </reference>
        <reference anchor="RFC8628">
          <front>
            <title>OAuth 2.0 Device Authorization Grant</title>
            <author fullname="W. Denniss" initials="W." surname="Denniss"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="August" year="2019"/>
            <abstract>
              <t>The OAuth 2.0 device authorization grant is designed for Internet- connected devices that either lack a browser to perform a user-agent- based authorization or are input constrained to the extent that requiring the user to input text in order to authenticate during the authorization flow is impractical. It enables OAuth clients on such devices (like smart TVs, media consoles, digital picture frames, and printers) to obtain user authorization to access protected resources by using a user agent on a separate device.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8628"/>
          <seriesInfo name="DOI" value="10.17487/RFC8628"/>
        </reference>
        <reference anchor="RFC9396">
          <front>
            <title>OAuth 2.0 Rich Authorization Requests</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Richer" initials="J." surname="Richer"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies a new parameter that is used to carry fine-grained authorization data in OAuth messages.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9396"/>
          <seriesInfo name="DOI" value="10.17487/RFC9396"/>
        </reference>
        <reference anchor="AUTHZEN" target="https://openid.github.io/authzen/">
          <front>
            <title>OpenID AuthZEN Authorization API</title>
            <author initials="O." surname="Gazitt" fullname="Omri Gazitt">
              <organization>Aserto</organization>
            </author>
            <author initials="D." surname="Brossard" fullname="David Brossard">
              <organization>Axiomatics</organization>
            </author>
            <author initials="A." surname="Tulshibagwale" fullname="Atul Tulshibagwale">
              <organization>SGNL</organization>
            </author>
            <date year="2024" month="July"/>
          </front>
        </reference>
        <reference anchor="BOXCAR" target="https://openid.github.io/authzen/authorization-api-1_1#name-access-evaluations-api">
          <front>
            <title>OpenID AuthZEN Authorization API</title>
            <author initials="O." surname="Gazitt" fullname="Omri Gazitt">
              <organization>Aserto</organization>
            </author>
            <author initials="D." surname="Brossard" fullname="David Brossard">
              <organization>Axiomatics</organization>
            </author>
            <author initials="A." surname="Tulshibagwale" fullname="Atul Tulshibagwale">
              <organization>SGNL</organization>
            </author>
            <date year="2024" month="July"/>
          </front>
        </reference>
        <reference anchor="OID-CIBA" target="https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html">
          <front>
            <title>OpenID Connect Client-Initiated Backchannel Authentication Flow - Core 1.0</title>
            <author initials="G." surname="Fernandez" fullname="G. Fernandez">
              <organization/>
            </author>
            <author initials="F." surname="Walter" fullname="F. Walter">
              <organization/>
            </author>
            <author initials="A." surname="Nennker" fullname="A. Nennker">
              <organization/>
            </author>
            <author initials="D." surname="Tonge" fullname="D. Tonge">
              <organization/>
            </author>
            <author initials="B." surname="Campbell" fullname="B. Campbell">
              <organization/>
            </author>
            <date year="2021" month="September"/>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="XACML" target="https://docs.oasis-open.org/xacml/3.0/xacml-3.0-core-spec-os-en.html">
          <front>
            <title>eXtensible Access Control Markup Language (XACML) Version 3.0, OASIS Standard</title>
            <author initials="E." surname="Rissanen" fullname="Erik Rissanen">
              <organization>Axiomatics AB</organization>
            </author>
            <date year="2013" month="January"/>
          </front>
        </reference>
        <reference anchor="ABAC" target="https://doi.org/10.6028/NIST.SP.800-162">
          <front>
            <title>Guide to Attribute Based Access Control (ABAC) Definition and Considerations - NIST Special Publication 800-162</title>
            <author initials="V." surname="Hu" fullname="Vincent Hu">
              <organization>NIST</organization>
            </author>
            <author initials="D." surname="Ferraiolo" fullname="David Ferraiolo">
              <organization>NIST</organization>
            </author>
            <date year="2014" month="January"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 393?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We would like to thank members of the OpenID AuthZEN Working Group for their
   valuable feedback during the preparation of this specification. In particular
   our thanks go to Gerry Gebel and Allan Foster.</t>
      <t>We would also like to thank Justin Richer and Pieter Kasselman for their
   guidance on this spec and the overall IETF process.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
NQAA

-->

</rfc>
