<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Is &#96;auth_time&#96; in refresh token metadata reliable for MFA + PASSWORD flows?]]></title><description><![CDATA[<p dir="auto">When querying the refresh token endpoint <code>GET /api/jwt/refresh?userId={userId}</code>, some refresh tokens include a <code>data</code> sub-object under <code>metaData</code> containing fields like <code>auth_time</code> and <code>authentication_type</code>.</p>
<p dir="auto">This metadata appears to be present for the following authentication types:</p>
<ul>
<li>PASSWORD</li>
<li>PASSWORDLESS</li>
<li>SAMLv2IdpInitiated</li>
<li>SAMLv2</li>
</ul>
<p dir="auto">However, when users authenticate using <strong>MFA + PASSWORD</strong>, the <code>data</code> sub-object is missing from the refresh token metadata.</p>
<p dir="auto">Is this <code>data</code> object (specifically <code>auth_time</code> and <code>authentication_type</code>) something that can be reliably used across all authentication flows in current and future versions of FusionAuth? Or is its presence inconsistent and not intended as a stable API feature?</p>
]]></description><link>https://fusionauth.io/community/forum/topic/3349/is-auth_time-in-refresh-token-metadata-reliable-for-mfa-password-flows</link><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 08:15:53 GMT</lastBuildDate><atom:link href="https://fusionauth.io/community/forum/topic/3349.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Nov 2026 19:02:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Is &#96;auth_time&#96; in refresh token metadata reliable for MFA + PASSWORD flows? on Fri, 06 Nov 2026 20:55:50 GMT]]></title><description><![CDATA[<p dir="auto">The <code>data</code> sub-object containing <code>auth_time</code> and <code>authentication_type</code> in refresh token metadata is <strong>not currently a documented or officially supported feature</strong> in FusionAuth. Its presence is inconsistent across authentication flows, as you've observed — it appears for some authentication types but not others (notably absent for MFA + PASSWORD flows).</p>
<p dir="auto">According to the official documentation, the <strong>only documented fields</strong> within refresh token <code>metaData</code> are:</p>
<ul>
<li><strong><code>metaData.device</code></strong> — An object containing device information (<code>name</code>, <code>type</code>, <code>description</code>, <code>lastAccessedAddress</code>, <code>lastAccessedInstant</code>)</li>
<li><strong><code>metaData.scopes</code></strong> — An array of OAuth scopes associated with the token</li>
<li><strong><code>metaData.resources</code></strong> — An array of resource URIs per RFC 8707 (available since v1.67.0)</li>
</ul>
<p dir="auto">The <code>data</code> sub-object with <code>auth_time</code> and <code>authentication_type</code> that you're observing is <strong>not part of the documented API contract</strong>. Because this is undocumented behavior, you should <strong>not rely on it</strong> in production code, as it may change or be removed in future versions without notice.</p>
<h3>Important Distinction: <code>auth_time</code> on JWTs vs Refresh Tokens</h3>
<p dir="auto">Note that <code>auth_time</code> <strong>is</strong> a standard and documented claim on <strong>access tokens and ID tokens</strong> (the JWTs themselves), where it represents the time of initial authentication. However, it is not a documented field on the refresh token record itself when queried via the retrieval API.</p>
<h2>Related Documentation</h2>
<ul>
<li><a href="https://fusionauth.io/docs/apis/jwt/retrieve-refresh-tokens" rel="nofollow ugc">Retrieve Refresh Tokens API</a> — Official API documentation including the complete response body structure for refresh tokens</li>
<li><a href="https://fusionauth.io/docs/lifecycle/authenticate-users/oauth/tokens" rel="nofollow ugc">Access Token and ID Token Claims</a> — Where <code>auth_time</code> is officially documented as a JWT claim</li>
<li><a href="https://fusionauth.io/docs/lifecycle/authenticate-users/multi-factor-authentication" rel="nofollow ugc">Multi-Factor Authentication (MFA)</a> — Guide to implementing MFA in FusionAuth</li>
<li><a href="https://fusionauth.io/docs/apis/jwt/refresh-a-jwt" rel="nofollow ugc">JWT Refresh API</a> — How to use refresh tokens to obtain new access tokens</li>
</ul>
]]></description><link>https://fusionauth.io/community/forum/post/9038</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/9038</guid><dc:creator><![CDATA[FASupportBot]]></dc:creator><pubDate>Fri, 06 Nov 2026 20:55:50 GMT</pubDate></item></channel></rss>