| Internet-Draft | Additional AMR Values | November 2026 |
| Agarwal, et al. | Expires 6 May 2027 | [Page] |
The JWT "amr" (Authentication Methods References) claim contains values conveying authentication methods used in the authentication. This specification defines additional Authentication Method Reference values beyond those already registered to represent additional authentication methods in use today.¶
This note is to be removed before publishing as an RFC.¶
The latest revision of this draft can be found at https://skyfire-xyz.github.io/draft-skyfire-oauth-amr-values/draft-skyfire-oauth-amr-values.html. Status information for this document may be found at https://datatracker.ietf.org/doc/draft-skyfire-oauth-amr-values/.¶
Source for this draft and an issue tracker can be found at https://github.com/skyfire-xyz/draft-skyfire-oauth-amr-values.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 6 May 2027.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
The JWT [RFC7519] "amr" (Authentication Methods References) claim [OpenID.Core] contains values conveying authentication methods used in the authentication. They are registered in the IANA "Authentication Method Reference Values" registry [IANA.AMR].¶
Since the Authentication Method Reference Values [RFC8176] specification was published, several new authentication methods have been developed and/or come into widespread use. This specification defines additional Authentication Method Reference values to represent these additional authentication methods in use today.¶
While these Authentication Method Reference values are general purpose and can be used in any JSON Web Token (JWT) [RFC7519], one use case for them is use in KYAPay tokens [I-D.skyfire-oauth-kyapay-token].¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
The following Authentication Method Reference values are defined by this specification:¶
Use of an authenticator application on a device held by the user. An issuer includes this value where it knows that an authenticator application was used. Where a code is produced from a shared secret and the issuer cannot determine what produced it, this value is omitted.¶
An authenticator application commonly acts as an OTP authenticator or as an out-of-band authenticator, as described in Sections 3.1.3 to 3.1.5 of [NIST.SP.800-63B-4].¶
Background Authentication (Silent network authentication of phone number, device recognition, geo-location, etc.)¶
The "sna" value (Section 3.3) identifies one specific background method and is a subset of this value. Geo-location is separately registered as "geo" and device recognition is within the scope of "rba", both in [RFC8176].¶
Silent Network Authentication. Confirmation by the mobile network operator that the device making the request holds the subscriber identity associated with a given telephone number, performed without any interaction with the user. An example is the Number Verification API [CAMARA.NumberVerification].¶
Use of e-mail as the channel by which an authentication interaction reached the user. What was delivered over the channel is described by an accompanying value such as "code" or "url". See Section 5.¶
E-mail is not an acceptable channel for out-of-band authentication under Section 3.1.3.1 of [NIST.SP.800-63B-4]. See Section 6.¶
Code provided to and entered by user¶
For example, a secret received on an out-of-band device and entered into the authentication session, as described in Section 3.1.3 of [NIST.SP.800-63B-4].¶
URL provided to and clicked on by user¶
Push notification to mobile phone¶
An out-of-band authentication interaction in which the verifier reaches an application on the user's device over a secondary channel, as described in Section 3.1.3 of [NIST.SP.800-63B-4].¶
Determination that a facial image or video presented for authentication is of a live person rather than an artifact such as a photograph, mask, or synthetic rendering. This is a presentation attack detection measure [ISO30107-1].¶
The "facliv" and "face" [RFC8176] values describe different determinations and are not alternatives: "face" is a comparison of a presented face against a reference, and "facliv" is a determination that the presented face is live. Where both were performed, both values are included.¶
Use of a multi-device credential as defined by [WebAuthn], that is, a backup-eligible credential, which may be backed up and synchronized to other devices. Multi-device credentials are commonly referred to as synced passkeys. A WebAuthn Relying Party learns whether a credential is backup eligible from the flags in the authenticator data.¶
This value describes whether a credential may be replicated. It is independent of how the key is protected on any one device, which "hwk" and "swk" [RFC8176] describe. Where both are known, both are included.¶
The absence of this value does not indicate that a credential is a single-device credential.¶
User verification. Local authorization of the authenticator by an authorization gesture capable of distinguishing individual users, such as a PIN, a password, or biometric recognition [WebAuthn].¶
This is distinct from "user" [RFC8176], which is a test of user presence. As [WebAuthn] states, a user presence test "is not capable of biometric recognition, nor does it involve the presentation of a shared secret such as a password or PIN".¶
This value does not identify which modality the authenticator used.¶
The following Authentication Method Reference value is updated by this specification:¶
Telephone call to the user at a registered number. The call may be used to provide information to the user, such as a code, that is then used in another channel. The call may be used for the user to provide information that the caller uses in the authentication.¶
This definition replaces the one in [RFC8176], which is "Confirmation by telephone call to the user at a registered number. This authentication technique is sometimes also referred to as 'call back' [RFC4949]."¶
The "amr" claim value is an array, and as described in [RFC8176], all the applicable values may be returned. A single authentication event is frequently described by more than one value, because the registered values describe different aspects of it.¶
The "email" and "push" values registered by this specification describe the channel by which an authentication interaction reached the person. [RFC8176] registers "sms" and "tel" in the same sense, and uses the term "channel" in this sense in its definition of "mca".¶
The "code" and "url" values describe challenges delivered over such a channel, which the person must return to the verifier to complete authentication. The person may return it directly, as when a code is read and typed in, or indirectly, as when following a link causes the value to be sent. The "otp" value [RFC8176] is related but narrower: it identifies a one-time password produced by an algorithm such as HOTP [RFC4226] or TOTP [RFC6238], typically generated by an authenticator rather than delivered over a channel. A code not produced by such an algorithm is described by "code".¶
A channel value alone does not say what the person did. A challenge value alone does not say how it reached them. An issuer that knows both will typically return both. Appendix A gives examples, and Appendix B maps terms in common industry use onto the corresponding sets of values.¶
The "sms" value registered by [RFC8176] predates this distinction. Its definition describes both a channel and the interaction carried over it, and is unchanged by this specification. An issuer wishing to be explicit about what was delivered over the SMS channel may return a challenge value alongside it.¶
The security considerations defined in Authentication Method Reference Values [RFC8176] apply to this specification.¶
E-mail is not an acceptable channel for out-of-band authentication under Section 3.1.3.1 of [NIST.SP.800-63B-4], because an e-mail account may be accessible with only a password and messages may be intercepted or rerouted. A relying party evaluating an "amr" claim that includes "email" may wish to take this into account.¶
[NIST.SP.800-63B-4] also no longer accepts out-of-band authentication in which the user approves a request on the secondary channel without transferring a secret between the channels, because of authentication fatigue attacks. The "push" value alone does not indicate whether a secret was transferred. An issuer that knows a code was transferred returns "code" alongside it.¶
The privacy considerations defined in Authentication Method Reference Values [RFC8176] apply to this specification.¶
This specification registers the following Authentication Method Reference values in the IANA "Authentication Method Reference Values" registry [IANA.AMR] established by [RFC8176].¶
Authentication Method Reference Name: app¶
Authentication Method Reference Description: Authenticator App¶
Change Controller: IETF¶
Specification Document(s): Section 3.1 of this specification¶
Authentication Method Reference Name: bg¶
Authentication Method Reference Description: Background Authentication¶
Change Controller: IETF¶
Specification Document(s): Section 3.2 of this specification¶
Authentication Method Reference Name: sna¶
Authentication Method Reference Description: Silent Network Authentication¶
Change Controller: IETF¶
Specification Document(s): Section 3.3 of this specification¶
Authentication Method Reference Name: email¶
Authentication Method Reference Description: Use of e-mail as the channel for an authentication interaction¶
Change Controller: IETF¶
Specification Document(s): Section 3.4 of this specification¶
Authentication Method Reference Name: code¶
Authentication Method Reference Description: Code provided to and entered by user¶
Change Controller: IETF¶
Specification Document(s): Section 3.5 of this specification¶
Authentication Method Reference Name: url¶
Authentication Method Reference Description: URL provided to and clicked on by user¶
Change Controller: IETF¶
Specification Document(s): Section 3.6 of this specification¶
Authentication Method Reference Name: push¶
Authentication Method Reference Description: Push notification to mobile phone¶
Change Controller: IETF¶
Specification Document(s): Section 3.7 of this specification¶
Authentication Method Reference Name: facliv¶
Authentication Method Reference Description: Facial Liveness Check¶
Change Controller: IETF¶
Specification Document(s): Section 3.8 of this specification¶
Authentication Method Reference Name: passkey¶
Authentication Method Reference Description: Passkey¶
Change Controller: IETF¶
Specification Document(s): Section 3.9 of this specification¶
Authentication Method Reference Name: mdc¶
Authentication Method Reference Description: Multi-Device Credential¶
Change Controller: IETF¶
Specification Document(s): Section 3.10 of this specification¶
Authentication Method Reference Name: uv¶
Authentication Method Reference Description: User Verification¶
Change Controller: IETF¶
Specification Document(s): Section 3.11 of this specification¶
Authentication Method Reference Name: tel¶
Authentication Method Reference Description: Telephone call to the user at a registered number¶
Change Controller: IETF¶
Specification Document(s): Section 4.1 of this specification¶
The following "amr" claim value indicates that a code was sent to the user over the e-mail channel and entered by the user:¶
"amr": ["email", "code"]¶
The following "amr" claim value indicates that a link was sent to the user over the e-mail channel and followed by the user:¶
"amr": ["email", "url"]¶
The following "amr" claim value indicates that a one-time password was generated by an authenticator application and entered by the user:¶
"amr": ["app", "otp"]¶
The following "amr" claim value indicates that a password was used together with a code sent over the e-mail channel, and that the issuer considers the combination to be multiple-factor authentication:¶
"amr": ["pwd", "email", "code", "mfa"]¶
The terms below are names in common industry use for authentication arrangements that this specification describes using more than one value. This mapping is non-normative. It is provided so that implementers of the same arrangement emit the same set of values.¶
["email", "code"]¶
["email", "url"]¶
["sms", "code"].
As noted in Section 5, "sms" predates the channel and challenge distinction,
and ["sms"] remains correct.¶
["tel", "code"]¶
["tel"]¶
["app", "otp"]¶
["push"]¶
["push", "code"]¶
["sna"]¶
["face", "facliv"]¶
["passkey", "hwk"]¶
["passkey", "mdc"].
"hwk" or "swk" is added where the issuer knows how the key is protected.¶
We would like to thank Jean Diaconu, Max Gerber, and Rob Zagarella for their contributions to the specification.¶
[[ to be removed by the RFC Editor before publication as an RFC ]]¶
-03¶
Added "sna" for silent network authentication, a specific case of the background authentication described by "bg".¶
Added "mdc" for multi-device credentials, commonly called synced passkeys, which composes with "hwk" and "swk" [RFC8176].¶
Added "uv" for user verification, distinct from the user presence test described by "user" [RFC8176].¶
Redefined "app" by the property it describes rather than by product examples, and stated when an issuer can assert it.¶
Narrowed "email" to the channel, with what was delivered over it described by an accompanying value.¶
Stated that "facliv" and "face" [RFC8176] describe different determinations and are included together where both were performed, and added a reference to [ISO30107-1].¶
Added references to [NIST.SP.800-63B-4] for "app", "code", "push", and "email", and to [CAMARA.NumberVerification] for "sna".¶
Added Security Considerations on e-mail as an authentication channel and on push approval without a transferred secret.¶
Added a section on composing values, and appendices giving examples and common compositions.¶
Removed "sqa". Current NIST guidance treats knowledge-based authentication and security questions as the same family, and "kba" [RFC8176] already covers it.¶
Removed the Security Considerations note on security questions, which applied to "sqa".¶
Added Max Gerber to the acknowledgments.¶
-02¶
Updated the definition of "tel" to incorporate calls to provide information such as codes and removed "call".¶
Renamed "psk" to "passkey" because of the potential confusion with pre-shared key.¶
Added warning in Security Considerations that security questions are not acceptable authentication secrets under current NIST guidance.¶
Added {:vspace} syntax to definition list entries.¶
-01¶
Moved "inp" and "vid" methods to the ID Verification spec.¶
Added "call", "code", "url", "facliv", "sqa", and "psk" methods.¶
Added Nash Ali and Srinivasa Thumma as authors.¶
-00¶
Initial draft.¶