<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.7) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-kavian-aep-basic-session-credential-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="AEP Basic">Basic Session Credential Grant Type for the Agent Enrollment Protocol</title>

    <author initials="N." surname="Kavian" fullname="N. Kavian">
      <organization>Jarwin, Inc. (InFlow)</organization>
      <address>
        <email>nas@inflowpay.ai</email>
      </address>
    </author>

    <date year="2026" month="June" day="28"/>

    
    
    

    <abstract>


<?line 38?>

<t>This document defines the Basic session-credential grant type for the Agent Enrollment Protocol (AEP).  The grant type lets an AEP Service issue an HTTP Basic credential through the AEP Grant command for deployments that already integrate with Basic authentication middleware.</t>



    </abstract>



  </front>

  <middle>


<?line 42?>

<section anchor="introduction"><name>Introduction</name>

<t>AEP session credentials allow a Service to issue a stateful credential after an Agent authenticates with a baseline AEP client assertion <xref target="AEP-CORE"/>.  This document defines the <spanx style="verb">basic</spanx> grant type for Services that want to reuse HTTP Basic authentication <xref target="RFC7617"/> while preserving AEP key possession as the issuance root.  Grant type request and response bodies are JSON objects <xref target="RFC8259"/> carried over HTTP semantics <xref target="RFC9110"/> as defined by AEP.</t>

<t>This grant type does not replace baseline AEP authentication.  Services that implement this grant type <bcp14>MUST</bcp14> continue to accept baseline AEP authentication on authenticated AEP commands.</t>

</section>
<section anchor="requirements-language"><name>Requirements Language</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?>

</section>
<section anchor="grant-type"><name>Grant Type</name>

<t>The grant type identifier is:</t>

<figure><sourcecode type="text"><![CDATA[
basic
]]></sourcecode></figure>

<t>A Service that enables this grant type lists <spanx style="verb">basic</spanx> in <spanx style="verb">commands.grant_types</spanx> and lists <spanx style="verb">grant</spanx> and <spanx style="verb">revoke</spanx> in <spanx style="verb">commands.supported</spanx> in its AEP Inspect document.</t>

</section>
<section anchor="inspect-configuration"><name>Inspect Configuration</name>

<t>A Service <bcp14>MAY</bcp14> publish configuration under <spanx style="verb">commands.grant_types_config.basic</spanx>:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "commands": {
    "grant_types": ["basic"],
    "grant_types_config": {
      "basic": {
        "default_lifetime_seconds": "86400",
        "realm": "api.example.com",
        "scopes_supported": ["read", "write"],
        "supports_per_credential_revoke": "true"
      }
    },
    "supported": ["enroll", "grant", "inspect", "revoke", "status"]
  }
}
]]></sourcecode></figure>

<t><spanx style="verb">default_lifetime_seconds</spanx> is an AEP-owned numeric value and is therefore represented as a JSON string.</t>

<t><spanx style="verb">realm</spanx>, when present, identifies the HTTP Basic realm associated with credentials issued by this grant type.</t>

<t><spanx style="verb">scopes_supported</spanx>, when present, lists Service-defined scope strings an Agent can request.</t>

<t><spanx style="verb">supports_per_credential_revoke</spanx> is a string boolean.  If absent, the default is <spanx style="verb">"false"</spanx>.  A Service that returns <spanx style="verb">credential_id</spanx> in a Grant response <bcp14>MUST</bcp14> support Revoke with that <spanx style="verb">credential_id</spanx>.  A Service that does not support per-credential Revoke <bcp14>MUST</bcp14> omit <spanx style="verb">credential_id</spanx> from Grant responses.</t>

</section>
<section anchor="grant-request"><name>Grant Request</name>

<t>The Agent invokes AEP Grant using baseline <spanx style="verb">Authorization: AEP &lt;jwt&gt;</spanx> authentication with <spanx style="verb">op</spanx> equal to <spanx style="verb">grant</spanx>.</t>

<figure><sourcecode type="json"><![CDATA[
{
  "grant_type": "basic",
  "label": "legacy-basic-prod",
  "requested_scopes": ["read"]
}
]]></sourcecode></figure>

<t><spanx style="verb">grant_type</spanx> <bcp14>MUST</bcp14> be <spanx style="verb">basic</spanx>.</t>

<t><spanx style="verb">label</spanx> is <bcp14>OPTIONAL</bcp14> and is an Agent-provided display label.  Services <bcp14>MAY</bcp14> ignore it.</t>

<t><spanx style="verb">requested_scopes</spanx> is <bcp14>OPTIONAL</bcp14>.  A Service <bcp14>MAY</bcp14> grant fewer scopes than requested.  Unsupported requested scopes <bcp14>MAY</bcp14> be omitted from the response <spanx style="verb">scopes</spanx> array.  If the Service cannot issue a useful credential for the requested scopes, it <bcp14>MUST</bcp14> return <spanx style="verb">invalid_request</spanx>.</t>

<t>The Agent does not submit a password.  The Service generates the username and password, or generates the password for a Service-owned username, and returns the credential in the Grant response.</t>

</section>
<section anchor="grant-response"><name>Grant Response</name>

<t>A successful Grant response is a JSON object:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "credential_id": "bas_01HZY8W7Q2F8J7D3P9G9Z1N6TT",
  "expires_at": "2026-12-01T00:00:00Z",
  "password": "s3cr3tExample",
  "realm": "api.example.com",
  "scopes": ["read"],
  "username": "aep_agent_abc123"
}
]]></sourcecode></figure>

<t><spanx style="verb">username</spanx> and <spanx style="verb">password</spanx> are <bcp14>REQUIRED</bcp14>.  Agents <bcp14>MUST</bcp14> treat <spanx style="verb">password</spanx> as an opaque secret. Services <bcp14>MUST</bcp14> generate values that can be encoded according to RFC 7617 without lossy transformation. Generated passwords <bcp14>MUST</bcp14> contain at least 128 bits of entropy. Generated usernames and passwords <bcp14>MUST NOT</bcp14> contain control characters.</t>

<t><spanx style="verb">expires_at</spanx> is <bcp14>REQUIRED</bcp14> and is an RFC 3339 <xref target="RFC3339"/> timestamp for credential expiry.</t>

<t><spanx style="verb">realm</spanx>, when present, identifies the associated HTTP Basic realm.</t>

<t><spanx style="verb">scopes</spanx> is <bcp14>REQUIRED</bcp14> and contains the granted scope strings.  The Service <bcp14>MAY</bcp14> return an empty array when the Basic credential has no scope-limited authorization.</t>

<t><spanx style="verb">credential_id</spanx>, when present, is a stable identifier for per-credential Revoke.  If present, the Service <bcp14>MUST</bcp14> support Revoke with this value.</t>

<t>The response does not include the base64-encoded <spanx style="verb">Authorization</spanx> value.  Agents construct that value locally from <spanx style="verb">username ":" password</spanx> according to RFC 7617.</t>

</section>
<section anchor="credential-presentation"><name>Credential Presentation</name>

<t>On later HTTP requests, the Agent presents the credential using HTTP Basic authentication:</t>

<figure><sourcecode type="http-message"><![CDATA[
Authorization: Basic YWVwX2FnZW50X2FiYzEyMzpzM2NyM3RFeGFtcGxl
]]></sourcecode></figure>

<t>The encoded value is standard base64 of <spanx style="verb">username ":" password</spanx> as defined by RFC 7617.  This encoding is not AEP's base64url binary convention.</t>

<t>Authenticated AEP command endpoints <bcp14>MUST</bcp14> continue to accept baseline AEP authentication.</t>

</section>
<section anchor="revoke"><name>Revoke</name>

<t>The Agent invokes AEP Revoke using baseline <spanx style="verb">Authorization: AEP &lt;jwt&gt;</spanx> authentication with <spanx style="verb">op</spanx> equal to <spanx style="verb">revoke</spanx>.</t>

<t>To revoke all Basic credentials of this type for the authenticated Agent:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "grant_type": "basic"
}
]]></sourcecode></figure>

<t>To revoke one Basic credential when the Service returned <spanx style="verb">credential_id</spanx>:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "credential_id": "bas_01HZY8W7Q2F8J7D3P9G9Z1N6TT",
  "grant_type": "basic"
}
]]></sourcecode></figure>

<t>Revoke returns an empty JSON object on success.  The Service <bcp14>MUST</bcp14> return success regardless of whether a matching credential existed.</t>

<t>To revoke all session credentials of every grant type, Agents use the core <spanx style="verb">all_grant_types</spanx> Revoke request.</t>

</section>
<section anchor="error-handling"><name>Error Handling</name>

<t>This grant type uses the AEP error vocabulary defined by the core protocol.  A Basic credential that is expired, malformed, revoked, unknown, or bound to a different Agent fails as <spanx style="verb">not_recognized</spanx>.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests registration of <spanx style="verb">basic</spanx> in the AEP Grant Types registry.</t>

<texttable>
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Value</ttcol>
      <c>Grant Type</c>
      <c><spanx style="verb">basic</spanx></c>
      <c>Description</c>
      <c>HTTP Basic credential issued through AEP Grant</c>
      <c>Reference</c>
      <c>This document</c>
</texttable>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>Basic credentials are bearer secrets once encoded into the Authorization header.  Services <bcp14>MUST</bcp14> store passwords using strong password-storage controls.  Services <bcp14>MUST NOT</bcp14> log raw passwords or Authorization header values, and Services <bcp14>MUST</bcp14> support AEP Revoke for every advertised grant type.  Agents that suspect credential disclosure <bcp14>SHOULD</bcp14> call AEP Revoke using baseline AEP authentication and then fall back to per-request signed client assertions until a new credential is issued.</t>

<t>Services <bcp14>SHOULD</bcp14> use a distinct realm or credential store for AEP-issued Basic credentials when the Service also supports human-facing Basic credentials.</t>

</section>
<section anchor="privacy-considerations"><name>Privacy Considerations</name>

<t>Basic credentials can become correlation handles if reused outside the issuing Service.  Agents <bcp14>MUST NOT</bcp14> present AEP-issued Basic credentials to other Services.  Services <bcp14>MUST NOT</bcp14> log raw passwords or Authorization header values in ordinary logs or telemetry.</t>

</section>


  </middle>

  <back>



    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC3339">
  <front>
    <title>Date and Time on the Internet: Timestamps</title>
    <author fullname="G. Klyne" initials="G." surname="Klyne"/>
    <author fullname="C. Newman" initials="C." surname="Newman"/>
    <date month="July" year="2002"/>
    <abstract>
      <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3339"/>
  <seriesInfo name="DOI" value="10.17487/RFC3339"/>
</reference>
<reference anchor="RFC7617">
  <front>
    <title>The 'Basic' HTTP Authentication Scheme</title>
    <author fullname="J. Reschke" initials="J." surname="Reschke"/>
    <date month="September" year="2015"/>
    <abstract>
      <t>This document defines the "Basic" Hypertext Transfer Protocol (HTTP) authentication scheme, which transmits credentials as user-id/ password pairs, encoded using Base64.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7617"/>
  <seriesInfo name="DOI" value="10.17487/RFC7617"/>
</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="RFC9110">
  <front>
    <title>HTTP Semantics</title>
    <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
    <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
    <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
    <date month="June" year="2022"/>
    <abstract>
      <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
      <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="97"/>
  <seriesInfo name="RFC" value="9110"/>
  <seriesInfo name="DOI" value="10.17487/RFC9110"/>
</reference>

<reference anchor="AEP-CORE" target="https://datatracker.ietf.org/doc/draft-kavian-agent-enrollment-protocol/">
  <front>
    <title>The Agent Enrollment Protocol</title>
    <author initials="N." surname="Kavian" fullname="N. Kavian">
      <organization></organization>
    </author>
    <date year="2026" month="June" day="27"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-kavian-agent-enrollment-protocol-01"/>
</reference>


<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="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>



    </references>





  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA61Z63LbNhb+z6fAqj+23TEVy04TR9Np103sxN3Edh2n3aST
kSASktBQJBcA7SiXPss+yz7ZfucApEjK9qQz9bQRBQHnHJzLdy6M4zhy2mVq
LAY/SqsT8VJZq4tcPDYqVbnTMhNPjcyduFyXSswLI9xSicMFfhNHuSmybEWP
56ZwRVJkg0jOZkZdgd7h0blgmoMoLZJcrsAkNXLu4nfySss8lqqMZ7Qhtp5p
nDRM491RlEinFoVZj4V1aaRLMxbOVNbt7e4+2t2LbDVbaT7nINpYnBxdHkfW
yTydyKzIFe9WUanHkRAQbizWyuLRFsYZNbfN9/Vq81VWblkYOhHjfyF0jh9O
h+JfLDIv+Zt01wqzkLn+IB2kGYufpLnW+Y44yZOh+PokP86K6294n1pJnY1B
wv5T53Msl3I9lDqK8sKscPpKEeuL48f7+/uPwuPDB6OH4fFg79t69dFotEuP
0HL8+OziaMz0a1te3m0j3irNQrmxWDpX2vG9e6l00hmZvFNmqJWbD3GnezDc
va7NiGisGqJxGYjeY6IgAvZ7u3sP4t0H8d5DXrTKaGVx38ILKaAYp0yuXPyE
aPfd4jYW5BN0emMj+otvstFNdopIgkbLw+EwiuI4FnJm6douii6X2grcuGJt
pWquc2XZ3X1obHupWHBouC8KDfE1bPXNUAgyTutgppwVMidLIvrMlU6UgF9X
ihafXV6GKBIttm5pimqx9PxwzEdoUqxW8H6WJFVlVqyJP91AOiEzo2S6hrIQ
VAZmEtfaLQNp0iiRTtiBxUqnaaaupVFBR34hir4iy5kirRLaF0XEO2ilJR5u
k8G1hWyu44r6Rghl8J5XWfs6ML4yrALWXUsa6J/FlAJAoTIYhO+bZJo3WrgW
S/zxYx0Hnz+zhm+z5JQBZ9o3XBA06OqafyuEUZVVbRP09PTxYwjPz5/F9VJn
SpRGWSKVL1jOd2otysLWKpJeBlKFzKEWUxQO0j7dyGLUfyplcTOYEaTKIocA
syJF/AiYQ/z08uxUFLPfVQK7MnuCBLBPpEGQpaK4giZZYgusIVHDPsIL7IMI
Xh2pmK1JxmHw+5ZC0gLc8sJBgjKTkLOj+64OIH5Xd3pVZorV7npkX7x6eQkf
xdG8YpeQSaJKdxd1QUpreUPqre/93A7JIS+gMW2U9/TnMl9UwA+6k2LtXxcm
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
kUP/wCAAAA==

-->

</rfc>

