OAuth 2.0 で定義されている 状態 パラメーターは認証要求に含まれており、クロスサイト要求フォージェリ攻撃を防ぐためにトークン応答にも返されます。 既定では、JavaScript 用 Microsoft Authentication Library (MSAL.js) は、ランダムに生成された一意の 状態 認証要求のパラメーター値を渡します。
状態パラメーターを使用して、リダイレクト前にアプリの状態の情報をエンコードすることもできます。 このパラメーターへの入力として、アプリ内のユーザーの状態 (オンだったページやビューなど) を渡すことができます。 MSAL.js ライブラリを使用すると、Request オブジェクトの状態パラメーターとしてカスタム状態を渡すことができます。 例えば:
import {PublicClientApplication} from "@azure/msal-browser";
const myMsalObj = new PublicClientApplication({
clientId: "ENTER_CLIENT_ID_HERE"
});
let loginRequest = {
scopes: ["user.read"],
state: "page_url"
}
myMSALObj.loginRedirect(loginRequest);
渡された状態は、要求の送信時に MSAL.js によって設定された一意の GUID に追加されます。 応答が返されると、MSAL.js 状態の一致を確認し、Response オブジェクトで渡されたカスタムを state
として返します。
次の手順
さらに学ぶために、次のマルチパート のチュートリアル シリーズで、ユーザーがサインインする React シングルページ アプリケーション (SPA) を構築します。