Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

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

項目一覧

  • Retrieve the Access Token
  • アクセス トークンを更新する
  • リフレッシュ トークンの有効期限

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

アクセス トークンを使用して、クライアントアプリケーションから Atlas GraphQL APIをクエリできます。 Atlas GraphQL APIなどの任意のGraphQLクライアントを使用して Atlas 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;
}

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

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

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

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

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

戻る

ユーザーを削除する