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

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

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

Amplify Authの意図的な決定は、認証情報を公開したり操作したりするパブリックメソッドを避けることでした。

Authを使用すると、サインインするだけで、認証情報を最新の状態に保ち、他のカテゴリに提供するために必要なすべてが処理されます。

ただし、Amplify外のAPIを操作する場合や、AWS固有の識別情報 (例: IdentityId) にアクセスしたい場合は、Cognito Authプラグインで fetchAuthSession を呼び出すことで、これらの実装詳細にアクセスできます。これにより、fetchAuthSession によって通常返される AuthSession と比較して追加の属性を持つ CognitoAuthSession が返されます。以下の例を参照してください。

Future<void> fetchAuthSession() async {
try {
final result = await Amplify.Auth.fetchAuthSession();
safePrint('User is signed in: ${result.isSignedIn}');
} on AuthException catch (e) {
safePrint('Error retrieving auth session: ${e.message}');
}
}

AWSの認証情報を取得する

場合によっては、より具体的な型を持つ基盤プラグインのインスタンスを取得すると便利です。Cognitoの場合、CognitoプラグインでSpeicherern fetchAuthSession を呼び出すと、ID、AWSの認証情報、Cognito User Poolトークンなどの AWS固有の値が返されます。

Future<void> fetchCognitoAuthSession() async {
try {
final cognitoPlugin = Amplify.Auth.getPlugin(AmplifyAuthCognito.pluginKey);
final result = await cognitoPlugin.fetchAuthSession();
final identityId = result.identityIdResult.value;
safePrint("Current user's identity ID: $identityId");
} on AuthException catch (e) {
safePrint('Error retrieving auth session: ${e.message}');
}
}