validateSession method

  1. @override
Future<bool> validateSession()
override

The following methods apply to the currently logged in user

Returns bool indicating if this session is valid and has a logged in user.

Implementation

@override
Future<bool> validateSession() async {
  final result = await _cognitoPlugin.fetchAuthSession();
  if (result.isSignedIn) {
    _accessToken = result.userPoolTokensResult.value.accessToken.raw;

    List<String>? memberships(dynamic memberships) {
      List<String>? membershipList;
      if (memberships != null) {
        membershipList = [];
        for (var membership in memberships) {
          membershipList.add(membership.toString());
        }
      }
      return membershipList;
    }

    _enqueueEvent(
      TokenRefreshEvent(
        _accessToken!,
        defaultOrgId: super.jwtToken?.payload['org:default']?.toString(),
        orgMemberships: memberships(
          jwtToken?.payload['org:memberships'],
        ),
        defaultSpaceId: jwtToken?.payload['space:default']?.toString(),
        spaceMemberships: memberships(
          jwtToken?.payload['space:memberships'],
        ),
      ),
    );
    return true;
  } else {
    return false;
  }
}