<?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[Topics tagged with refresh token]]></title><description><![CDATA[A list of topics that have been tagged with refresh token]]></description><link>https://fusionauth.io/community/forum/tags/refresh token</link><generator>RSS for Node</generator><lastBuildDate>Sun, 07 Jun 2026 20:47:39 GMT</lastBuildDate><atom:link href="https://fusionauth.io/community/forum/tags/refresh token.rss" rel="self" type="application/rss+xml"/><pubDate>Invalid Date</pubDate><ttl>60</ttl><item><title><![CDATA[Compatibility of refresh token settings: sliding window and one-time use]]></title><description><![CDATA[<p dir="auto">It's a subtle difference, but one-time use refers to the value of the refresh token, which you use against the /oauth2/token endpoint to get a new access token via the refresh grant.</p>
<p dir="auto">A sliding window refers to the refresh token itself, which has a unique id which stays the same, even as the value of the refresh token changes.</p>
<p dir="auto">So if you had a refresh token with a lifetime of 4 hours, a sliding window and one time use configured, you might end up with something like this:</p>

at creation: id 09cfb961-291a-420f-b5cf-48c5c87a67cc, value RNhY5yE39t1o2FXKxgyH, lifetime 4 hours
when the RT is presented to the /oauth2/token endpoint 3 hours after creation: id 09cfb961-291a-420f-b5cf-48c5c87a67cc, value Fh95KZLfSMjMNxpR5B4c, lifetime 4 more hours
when the RT is presented to the /oauth2/token endpoint 3 hours later: id  09cfb961-291a-420f-b5cf-48c5c87a67cc, value baHneP4s0hBHPEk88GPC, lifetime 4 more hours

<p dir="auto">More details here: <a href="https://github.com/FusionAuth/fusionauth-issues/issues/2925" rel="nofollow ugc">https://github.com/FusionAuth/fusionauth-issues/issues/2925</a></p>
]]></description><link>https://fusionauth.io/community/forum/topic/2800/compatibility-of-refresh-token-settings-sliding-window-and-one-time-use</link><guid isPermaLink="true">https://fusionauth.io/community/forum/topic/2800/compatibility-of-refresh-token-settings-sliding-window-and-one-time-use</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[Validate refresh tokens]]></title><description><![CDATA[<p dir="auto">A refresh token is opaque; you cannot validate it yourself.</p>
<p dir="auto">The general pattern for validating a refresh token is to use it to refresh the JWT, and if the refresh attempt fails, that indicates the refresh token is no longer valid.</p>
<p dir="auto">You could also retrieve a user’s refresh tokens and compare it to the ones returned by FusionAuth.</p>
<p dir="auto">More details:</p>
<p dir="auto"><a href="https://fusionauth.io/docs/v1/tech/apis/jwt#refresh-a-jwt" rel="nofollow ugc">https://fusionauth.io/docs/v1/tech/apis/jwt#refresh-a-jwt</a><br />
<a href="https://fusionauth.io/docs/v1/tech/apis/jwt#retrieve-refresh-tokens" rel="nofollow ugc">https://fusionauth.io/docs/v1/tech/apis/jwt#retrieve-refresh-tokens</a></p>
]]></description><link>https://fusionauth.io/community/forum/topic/2310/validate-refresh-tokens</link><guid isPermaLink="true">https://fusionauth.io/community/forum/topic/2310/validate-refresh-tokens</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[If I have a PWA, how often to users need to login]]></title><description><![CDATA[<p dir="auto">The short answer is however often you want, but at least once per device.</p>
<p dir="auto">You basically can set up your refresh token policy to have your refresh tokens live for a very long time (as long as you are comfortable with the security risk; make sure to secure the refresh token carefully). That is controlled in in the application configuration: <a href="https://fusionauth.io/docs/v1/tech/core-concepts/applications/#jwt" rel="nofollow ugc">https://fusionauth.io/docs/v1/tech/core-concepts/applications/#jwt</a></p>
<p dir="auto">Then, every time an access token expires, you can mint a new one with the refresh token. Here are the APIs you'd be interested in calling:</p>
<p dir="auto"><a href="https://fusionauth.io/docs/v1/tech/apis/jwt/" rel="nofollow ugc">https://fusionauth.io/docs/v1/tech/apis/jwt/</a></p>
]]></description><link>https://fusionauth.io/community/forum/topic/1364/if-i-have-a-pwa-how-often-to-users-need-to-login</link><guid isPermaLink="true">https://fusionauth.io/community/forum/topic/1364/if-i-have-a-pwa-how-often-to-users-need-to-login</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[Refresh token]]></title><description><![CDATA[<p dir="auto">the difference between a JWT/access token and a refresh token is that a refresh token can be revoked. Every time you present it to the Identity Provider/OAuth server, the OAuth server can check to see if the user has been banned, signed out or otherwise invalidated that token. (You can <a href="https://fusionauth.io/learn/expert-advice/tokens/revoking-jwts/" rel="nofollow ugc">revoke a JWT</a>, but it's a pain, typically.)</p>
<p dir="auto">A refresh token is an engineering tradeoff. Without refresh tokens, you would have two unappetizing alternatives:</p>

an access token that lived for a long time. In this case, if the access token is stolen, the attacker has a lot of time to access systems (or you need to have some kind of access token revocation strategy, which degrades the value of stateless access tokens).
requiring the user to sign in every time the token expires. That gets old if the lifetime of the access token is minutes or hours. I even get annoyed every time Google asks me to re-sign into gmail, which only happens every week or two.

<p dir="auto">The spec requires a client to explicitly request a refresh token. With FusionAuth you have to request the offline_access scope (which is common for other auth providers, but I wasn't able to find it in the RFC), so it's a way to offer more flexibility.</p>
]]></description><link>https://fusionauth.io/community/forum/topic/914/refresh-token</link><guid isPermaLink="true">https://fusionauth.io/community/forum/topic/914/refresh-token</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[I want to get a refresh token after login, but can&#x27;t figure it out]]></title><description><![CDATA[<p dir="auto">This is a common issue, as there are a couple of prerequisite settings that you need to configure in order to get refresh tokens. When you are trying to get a refresh token and not seeing it, you should double check the following items:</p>

you are passing a value of offline_access whenever a scope parameter is present.
you have configured the application to generate refresh tokens

if you are using OAuth, in the UI, it is in the OAuth tab; the field is Generate Refresh Tokens
if you are using the Login API, it is in the Security tab under Login API Settings; the field is Generate Refresh Tokens.


you are passing the client_id to the refresh grant request. This is required unless you are passing the Authorization header (which has the client_id in it).
the user is registered to the application for which you are issuing a refresh token.

]]></description><link>https://fusionauth.io/community/forum/topic/637/i-want-to-get-a-refresh-token-after-login-but-can-t-figure-it-out</link><guid isPermaLink="true">https://fusionauth.io/community/forum/topic/637/i-want-to-get-a-refresh-token-after-login-but-can-t-figure-it-out</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[Refresh tokens going stale]]></title><description><![CDATA[<p dir="auto">This is configurable. Go to <a href="https://fusionauth.io/docs/v1/tech/core-concepts/tenants/#jwt" rel="nofollow ugc">https://fusionauth.io/docs/v1/tech/core-concepts/tenants/#jwt</a> (though the screencaps are a bit out of date) but you’ll go there in your instance.</p>
<p dir="auto">You’ll see refresh token settings.</p>
<p dir="auto">If you’re using a fixed expiration, then it never expires based on last usage, but just based upon time since it was issued.</p>
<p dir="auto">If you’re using a sliding window expiration, then it will expire based upon the time since it was last used.</p>
]]></description><link>https://fusionauth.io/community/forum/topic/568/refresh-tokens-going-stale</link><guid isPermaLink="true">https://fusionauth.io/community/forum/topic/568/refresh-tokens-going-stale</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[Refresh token permissions]]></title><description><![CDATA[<p dir="auto">There are two “worlds”, OAuth, and API only.</p>
<p dir="auto">API world (JSON in body, proprietary to FusionAuth):</p>

Application &gt; Security &gt; Login API Settings &gt; Generate Refresh Tokens (Generate a a refresh token when using the Login API)
Application &gt; Security &gt; Login API Settings &gt; Enable JWT refresh (Allow a JWT to be refreshed using the /api/jwt/refresh API)

<p dir="auto">OAuth world (form params, in body and in request, standardized):</p>

Application &gt; OAuth &gt; Generate Refresh Tokens (Generate a refresh token if offline_access scope was requested)
Application &gt; OAuth &gt; Enabled Grants &gt; Refresh Token (Allow a JWT to be refreshed using an refresh token) (edited)

<p dir="auto">If you are living in the OAuth world, then you can disable the API access, and just use the OAuth configuration. And vice versa.</p>
]]></description><link>https://fusionauth.io/community/forum/topic/476/refresh-token-permissions</link><guid isPermaLink="true">https://fusionauth.io/community/forum/topic/476/refresh-token-permissions</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[Are refresh tokens globally unique?]]></title><description><![CDATA[<p dir="auto">They are globally unique, and they are deleted when a user is deleted. They must belong to a user.</p>
]]></description><link>https://fusionauth.io/community/forum/topic/463/are-refresh-tokens-globally-unique</link><guid isPermaLink="true">https://fusionauth.io/community/forum/topic/463/are-refresh-tokens-globally-unique</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[refresh_token grant webhook event?]]></title><description><![CDATA[<p dir="auto">Is this what you are looking for? <a href="https://fusionauth.io/docs/v1/tech/events-webhooks/events#jwt-refresh" rel="nofollow ugc">https://fusionauth.io/docs/v1/tech/events-webhooks/events#jwt-refresh</a></p>
<p dir="auto">Make sure you enable the webhook in the tenant as well as in the webhook definition.</p>
]]></description><link>https://fusionauth.io/community/forum/topic/269/refresh_token-grant-webhook-event</link><guid isPermaLink="true">https://fusionauth.io/community/forum/topic/269/refresh_token-grant-webhook-event</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[does a refresh token have an expire time?]]></title><description><![CDATA[<p dir="auto">Yes, a refresh token has a configured time to live (TTL). It can be configured at the Tenant or Application level.<br />
More here: <a href="https://fusionauth.io/docs/v1/tech/core-concepts/tenants#jwt" rel="nofollow ugc">https://fusionauth.io/docs/v1/tech/core-concepts/tenants#jwt</a></p>
]]></description><link>https://fusionauth.io/community/forum/topic/186/does-a-refresh-token-have-an-expire-time</link><guid isPermaLink="true">https://fusionauth.io/community/forum/topic/186/does-a-refresh-token-have-an-expire-time</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[I am using the login API but I&#x27;m not getting a refresh token. Why?]]></title><description><![CDATA[<p dir="auto">My guess is you are missing the applicationId on the login API request.</p>
<p dir="auto">A refresh token is per user per application, so passing that is required to provide refresh tokens (even though it is optional for the call to succeed).</p>
]]></description><link>https://fusionauth.io/community/forum/topic/86/i-am-using-the-login-api-but-i-m-not-getting-a-refresh-token-why</link><guid isPermaLink="true">https://fusionauth.io/community/forum/topic/86/i-am-using-the-login-api-but-i-m-not-getting-a-refresh-token-why</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[No Refresh Tokens from grant_type = authorizazion_code; python]]></title><description><![CDATA[<p dir="auto">Great thanks, that solved it.</p>
]]></description><link>https://fusionauth.io/community/forum/topic/62/no-refresh-tokens-from-grant_type-authorizazion_code-python</link><guid isPermaLink="true">https://fusionauth.io/community/forum/topic/62/no-refresh-tokens-from-grant_type-authorizazion_code-python</guid><dc:creator><![CDATA[sven.richter86]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[How can I get a new refresh token from FusionAuth?]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://fusionauth.io/community/forum/uid/47">@bboure</a>  You may be interested in this new feature from <a href="https://fusionauth.io/docs/v1/tech/release-notes#version-1-17-0" rel="nofollow ugc">the 1.17.0 release</a>, which allows for a sliding window of refresh tokens:</p>
<blockquote>
<p dir="auto">Sliding Window Refresh Token Expiration. By default the expiration of a refresh token is calculated from the time it was originally issued. Beginning in this release you may optionally configure the refresh token expiration to be based upon a sliding window. A sliding window expiration means that the expiration is calculated from the last time the refresh token was used. This expiration policy means that if you are using refresh tokens to maintain a user session, the session can be maintained as long as the user remains active. This expiration policy must be enabled at the tenant level, and may optionally be overridden by the Application JWT configuration.</p>
</blockquote>
]]></description><link>https://fusionauth.io/community/forum/topic/34/how-can-i-get-a-new-refresh-token-from-fusionauth</link><guid isPermaLink="true">https://fusionauth.io/community/forum/topic/34/how-can-i-get-a-new-refresh-token-from-fusionauth</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Invalid Date</pubDate></item></channel></rss>