<?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>authentication on Ikoma's Blog</title><link>https://blog.yusukeikoma.com/ja/tags/authentication/</link><description>Recent content in authentication on Ikoma's Blog</description><generator>Hugo</generator><language>ja-jp</language><lastBuildDate>Tue, 15 Sep 2026 13:18:09 +0900</lastBuildDate><atom:link href="https://blog.yusukeikoma.com/ja/tags/authentication/index.xml" rel="self" type="application/rss+xml"/><item><title>ステップアップ認証のチャレンジは 401 で届き、クライアントにはループ防止が要る</title><link>https://blog.yusukeikoma.com/ja/posts/step-up-authentication-challenge-is-a-401/</link><pubDate>Tue, 15 Sep 2026 13:18:09 +0900</pubDate><guid>https://blog.yusukeikoma.com/ja/posts/step-up-authentication-challenge-is-a-401/</guid><description>RFC 9470 は、API がクライアントに「このトークンは、弱すぎる、または古すぎるログインで取得されたものだ」と伝える方法を定めています。RFC を節ごとに読み、試作のサーバーとクライアントを作ると、仕様が決めているもの(401 のチャレンジと2つのパラメーター)と、実装側に残されているもの(同時に届くチャレンジ、ループ、キャッシュ)が分かります。</description></item><item><title>WebSocket の Origin 検証が止めるのは他サイトのページで、他のクライアントではない</title><link>https://blog.yusukeikoma.com/ja/posts/websocket-origin-check-is-not-authentication/</link><pubDate>Thu, 10 Sep 2026 11:23:25 +0900</pubDate><guid>https://blog.yusukeikoma.com/ja/posts/websocket-origin-check-is-not-authentication/</guid><description>WebSocket のハンドシェイクにある Origin ヘッダーは、ブラウザが付けるもので、それ以外のクライアントは好きな値を送れます。許可リストが守るのは、Cookie 認証のブラウザセッションが他のサイトから使われることで、接続してきた相手が誰かは証明しません。動くサーバー、実ブラウザでの攻撃、そこから導かれるハンドシェイクの規則を示します。</description></item><item><title>リフレッシュトークンをローテーションすると、並行リクエストでログアウトされることがある</title><link>https://blog.yusukeikoma.com/ja/posts/refresh-token-rotation-concurrent-requests/</link><pubDate>Sun, 30 Aug 2026 13:34:18 +0900</pubDate><guid>https://blog.yusukeikoma.com/ja/posts/refresh-token-rotation-concurrent-requests/</guid><description>リフレッシュトークンのローテーションは、使用済みトークンの再利用を盗難の警報として扱います。期限切れのアクセストークンで3つのリクエストを同時に送り、401ごとに更新するクライアントは、同じリフレッシュトークンを3回提示して、自分で警報を鳴らします。この記事では、素朴なクライアントをあえて壊し、single-flight と stale check で直します。そのうえで、サーバー側の猶予期間、リクエストの待機、先回り更新、送信者制約付きトークンを比べます。</description></item><item><title>トークンが切れても生き続けるWebSocketを、どう扱うか</title><link>https://blog.yusukeikoma.com/ja/posts/websocket-reauthentication-on-long-lived-connections/</link><pubDate>Fri, 21 Aug 2026 13:34:18 +0900</pubDate><guid>https://blog.yusukeikoma.com/ja/posts/websocket-reauthentication-on-long-lived-connections/</guid><description>101 レスポンスのあと、どのリクエストにも認証情報は載りません。サーバーが覚えているのは証拠ではなく判定結果だけです。1つのトークンをブラウザのハンドシェイクから追いかけ、ページから何が見えて何が見えないかを確かめたうえで、再接続・帯域内(in-band)・帯域外(out-of-band)の3つの更新方法を、動くサーバーとテストとヘッドレス Chrome の確認つきで比べます。</description></item><item><title>認証としてよいことを分ける</title><link>https://blog.yusukeikoma.com/ja/posts/separate-authentication-and-authorization/</link><pubDate>Tue, 11 Aug 2026 17:14:04 +0900</pubDate><guid>https://blog.yusukeikoma.com/ja/posts/separate-authentication-and-authorization/</guid><description>API の認証とロールベース認可を、主体・経路ごとの権限・人とマシンの認証情報に分けて設計する方法を説明します。</description></item></channel></rss>