Docs Menu
Docs Home
/ /
ユーザーの管理

ユーザー アクセス トークンの取得 - Flutter SDK

すべての ユーザー オブジェクトには、JSON web token へのアクセスに使用できるAtlas App Services トークンが含まれています。

アクセス トークンを使用して、クライアントアプリケーションから Atlas GraphQL API をクエリできます。 Atlas GraphQL API のクエリには、 graphql_flutter などの任意のGraphQLクライアントを使用して Atlas GraphQL API をクエリしますAtlas GraphQL API の設定とクエリの詳細については、App Services ドキュメントの「 Atlas GraphQL API 」を参照してください。

ユーザー.accessTokenプロパティを使用してアクセス トークンを取得できます。

final token = app.currentUser?.accessToken;

アクセス トークンは、ユーザーがログインしてから 30 分期限切れになります。自動的には更新されません。User.refreshCustomData() を使用して更新します。

Future<String> getValidAccessToken(User user) async {
// An already logged in user's access token might be stale. To
// guarantee that the token is valid, refresh it if necessary.
await user.refreshCustomData();
return user.accessToken;
}

また、dart:async ライブラリから Timer.perごとにアクセス トークンを定期的に更新することもできます。User.refreshCustomData() への呼び出しをタイマーのコールバック関数でラップします。

// Refresh the token every 29 minutes
Timer.periodic(Duration(minutes: 29), (_) {
app.currentUser?.refreshCustomData();
});

リフレッシュ トークンは一定期間後に期限切れになります。 更新トークンの有効期限が切れると、アクセス トークンの更新ができなくなり、ユーザーは再度ログインする必要があります。

Realm が開いた後に更新トークンの有効期限が切れると、ユーザーが再度ログインするまでデバイスは同期できなくなります。 同期エラー ハンドラーには、同期試行時にトークンの期限切れエラーを検出し、ユーザーをログイン フローにリダイレクトするロジックを実装する必要があります。

リフレッシュ トークンの有効期限の設定の詳細については、App Services ドキュメントの「ユーザー セッションの管理」を参照してください。

戻る

ユーザーを削除する

項目一覧