Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/ /

获取用户访问令牌 — Flutter SDK

在此页面上

  • 检索访问令牌
  • 刷新访问令牌
  • 刷新令牌有效期

每个 User 对象都包含一个 JSON web token 令牌,您可以使用该令牌访问 Atlas App Services。

您可以使用访问权限令牌从客户端应用程序查询Atlas GraphQL API 。使用任何GraphQL客户端查询Atlas GraphQL API,例如 graphql_flutter 。要学习;了解有关设置和查询Atlas GraphQL API的更多信息,请参阅App Services文档中的 Atlas GraphQL API [已弃用]

您可以使用 User.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.periodic() 定期刷新访问令牌 来自dart:async 库。使用计时器的回调函数封装对User.refreshCustomData()的调用。

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

刷新令牌会在设定的时间段后过期。刷新令牌过期后,访问令牌将无法再刷新,用户必须重新登录。

如果刷新令牌在 Realm 打开后过期,则在用户再次登录之前设备无法进行同步。同步错误处理程序应实现在尝试同步时捕获令牌过期错误的逻辑,然后将用户重定向到登录流程。

有关配置刷新令牌过期时间的信息,请参阅 App Services 文档中的管理用户会话

后退

删除用户