GraphQL 은 더 이상 사용되지 않습니다. 자세히 알아보기.
모든 사용자 객체에는 Atlas App Services에 액세스하는 데 사용할 수 있는 JSON web token이 포함되어 있습니다.
액세스 토큰을 사용하여 클라이언트 애플리케이션 에서 Atlas GraphQL API 쿼리 할 수 있습니다. GraphQL 클라이언트 사용하여 graphql_flutter 와 같은 Atlas GraphQL API 쿼리 . 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(); });
토큰 만료 새로 고침
새로 고침 토큰은 일정 시간이 지나면 만료됩니다. 새로 고침 토큰이 만료되면 액세스 토큰을 더 이상 새로 고칠 수 없으며 사용자는 다시 로그인해야 합니다.
영역이 열린 후 새로 고침 토큰이 만료되면 사용자가 다시 로그인할 때까지 장치를 동기화할 수 없습니다. 동기화 오류 처리기는 동기화를 시도할 때 토큰 만료 오류를 포착한 다음 사용자를 로그인 흐름으로 리디렉션하는 로직을 구현해야 합니다.
새로 고침 토큰 만료 구성에 대한 자세한 내용은 App Services 문서에서 사용자 세션 관리를 참조하세요.