<?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[Refresh token]]></title><description><![CDATA[<p dir="auto">Was reading <a href="https://fusionauth.io/learn/expert-advice/oauth/modern-guide-to-oauth/" rel="nofollow ugc">the Modern Guide to OAuth</a> and had a question.</p>
<p dir="auto">Why are refresh tokens a good idea?</p>
<p dir="auto">Isn't it more secure to just have a single access token; if it expires then we re-authenticate.</p>
<p dir="auto">The refresh access token feels like a backdoor to get an access token.</p>
]]></description><link>https://fusionauth.io/community/forum/topic/914/refresh-token</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Jul 2026 22:11:18 GMT</lastBuildDate><atom:link href="https://fusionauth.io/community/forum/topic/914.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 30 Mar 2021 20:11:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Refresh token on Tue, 30 Mar 2021 20:16:24 GMT]]></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>
<ul>
<li>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).</li>
<li>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.</li>
</ul>
<p dir="auto">The spec requires a client to explicitly request a refresh token. With FusionAuth you have to request the <code>offline_access</code> 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/post/2705</link><guid isPermaLink="true">https://fusionauth.io/community/forum/post/2705</guid><dc:creator><![CDATA[dan]]></dc:creator><pubDate>Tue, 30 Mar 2021 20:16:24 GMT</pubDate></item></channel></rss>