Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

Choose your framework/language

Gen1 DocsLegacy

Page updated Mar 26, 2026

ユーザーセッションの管理

Amplify Authは、現在のユーザーセッションとトークンへのアクセスを提供し、ユーザー情報を取得して、有効なセッションでサインインしているかどうかを判断し、アプリケーションへのアクセスを制御するのに役立ちます。

現在認証されているユーザーを取得する

getCurrentUser APIを使用して、現在認証されているユーザーに関する情報を取得できます。これには usernameuserIdsignInDetails が含まれます。

import { getCurrentUser } from 'aws-amplify/auth';
const { username, userId, signInDetails } = await getCurrentUser();
console.log("username", username);
console.log("user id", userId);
console.log("sign-in details", signInDetails);

このメソッドは、ユーザーがサインインしているかどうかを確認するために使用できます。ユーザーが認証されていない場合はエラーをスローします。

Hosted UI または signInWithRedirect APIを使用する場合、ユーザーの signInDetails はサポートされていません。

ユーザーセッションを取得する

ユーザーのセッションはサインイン状態であり、アプリケーションへのアクセス権を付与します。ユーザーがサインインすると、認証情報が一時的なアクセストークンと交換されます。セッション詳細を取得して、これらのトークンにアクセスし、この情報を使用してユーザーアクセスを検証したり、そのユーザーに固有のアクションを実行したりできます。

セッション詳細のみが必要な場合は、JSON Web Token (JWT) を含む tokens オブジェクトを返す fetchAuthSession APIを使用できます。

import { fetchAuthSession } from 'aws-amplify/auth';
const session = await fetchAuthSession();
console.log("id token", session.tokens.idToken)
console.log("access token", session.tokens.accessToken)

セッションの更新

fetchAuthSession APIは、認証トークンの有効期限が切れ、有効な refreshToken が存在する場合、ユーザーのセッションを自動的に更新します。さらに、forceRefresh フラグを有効にして fetchAuthSession APIを呼び出すことで、セッションを明示的に更新することもできます。

import { fetchAuthSession } from 'aws-amplify/auth';
await fetchAuthSession({ forceRefresh: true });

警告: デフォルトでは、外部アイデンティティプロバイダーからのセッションは更新できません。