confirmToken static method

Future<bool> confirmToken()

Implementation

static Future<bool> confirmToken() async {
  if (!HttpClientSettings.isCookieSupportAvailable()) {
    return false;
  }
  if (myConfig == null || myConfig!.serverConfig.apiServerUrl.isEmpty) {
    return false;
  }

  final url = Uri.parse('${myConfig!.serverConfig.apiServerUrl}/confirmToken');
  http.Client client = http.Client();
  // <!-- 멀티플랫폼 작업 완료 (2024-09-30 seventhstone)
  HttpClientSettings.setCredential(client, true);

  http.Response response = await client.get(url).catchError((error, stackTrace) {
    return throw HycopUtils.getHycopException(
      error: error,
      defaultMessage: 'client.get(confirmToken) Failed !!!',
    );
  });
  var responseBody = utf8.decode(response.bodyBytes);
  var jsonData = jsonDecode(responseBody);
  logger.finest('jsonData=$jsonData');

  if (jsonData.isEmpty) {
    _currentLoginUser = UserModel(logout: true);
  } else {
    bool logined = jsonData['isValid'] ?? false;
    String userId = jsonData['userId'] ?? '';
    String serverType = jsonData['serverType'] ?? '';
    logger.finest('confirmToken($logined, $userId, $serverType)');
    if (ServerType.fromString(serverType) != HycopFactory.serverType) {
      _currentLoginUser = UserModel(logout: true);
    } else if (logined) {
      _currentLoginUser = UserModel(userData: {'userId': userId});
      return true;
    }
  }

  return false;
}