<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>oauth on Ikoma's Blog</title><link>https://blog.yusukeikoma.com/tags/oauth/</link><description>Recent content in oauth on Ikoma's Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 17 Sep 2026 09:49:13 +0900</lastBuildDate><atom:link href="https://blog.yusukeikoma.com/tags/oauth/index.xml" rel="self" type="application/rss+xml"/><item><title>Old JWT Verifiers Ignore a New Restricting Claim, So Restrict by Narrowing scope</title><link>https://blog.yusukeikoma.com/posts/ignoring-unknown-jwt-claims-only-removes-access/</link><pubDate>Thu, 17 Sep 2026 09:49:13 +0900</pubDate><guid>https://blog.yusukeikoma.com/posts/ignoring-unknown-jwt-claims-only-removes-access/</guid><description>The JWT specification tells verifiers to ignore claims they do not understand. That is harmless for claims that grant things and dangerous for claims that restrict them. Four ways to cap what a client kind may hold, tested with a small issuer and three verifiers, and the one I would pick.</description></item><item><title>A Step-Up Challenge Is a 401, and Your Client Needs a Loop Guard</title><link>https://blog.yusukeikoma.com/posts/step-up-authentication-challenge-is-a-401/</link><pubDate>Tue, 15 Sep 2026 13:18:09 +0900</pubDate><guid>https://blog.yusukeikoma.com/posts/step-up-authentication-challenge-is-a-401/</guid><description>RFC 9470 lets an API tell a client that its access token was obtained with too weak or too old a login. Reading the RFC section by section, then building a toy server and client, shows what the document specifies (a 401 challenge, two parameters) and the three things it leaves to you: concurrent challenges, loops, and caches.</description></item><item><title>Enable Refresh Token Rotation and Parallel Requests Can Log Users Out</title><link>https://blog.yusukeikoma.com/posts/refresh-token-rotation-concurrent-requests/</link><pubDate>Sun, 30 Aug 2026 13:34:18 +0900</pubDate><guid>https://blog.yusukeikoma.com/posts/refresh-token-rotation-concurrent-requests/</guid><description>Refresh token rotation turns a reused token into a theft alarm. A client that fires three requests with an expired access token and refreshes once per 401 presents the same refresh token three times, and trips that alarm on itself. This post breaks a naive client on purpose, fixes it with single-flight refresh and a stale check, and compares the alternatives: a server grace window, request gating, proactive refresh and sender-constrained tokens.</description></item></channel></rss>