Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
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;
}

您还可以使用 dart:async库中的 Timer. periodic() 定期刷新访问权限令牌。使用计时器的回调函数封装对User.refreshCustomData() 的调用。

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

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

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

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

后退

删除用户

在此页面上