isValidRequest static method

bool isValidRequest(
  1. AuthRequestParams params
)

Implementation

static bool isValidRequest(AuthRequestParams params) {
  if (!NamespaceUtils.isValidUrl(params.aud)) {
    throw Errors.getInternalError(
      Errors.MISSING_OR_INVALID,
      context:
          'requestAuth() invalid aud: ${params.aud}. Must be a valid url.',
    );
  }
  // final validChainId = true; //NamespaceUtils.isValidChainId(params.chainId);

  if (!params.aud.contains(params.domain)) {
    throw Errors.getInternalError(
      Errors.MISSING_OR_INVALID,
      context:
          'requestAuth() invalid domain: ${params.domain}. aud must contain domain.',
    );
  }

  if (params.nonce.isEmpty) {
    throw Errors.getInternalError(
      Errors.MISSING_OR_INVALID,
      context: 'requestAuth() nonce must be nonempty.',
    );
  }

  // params.type == null || params.type == CacaoHeader.EIP4361
  if (params.type != null && params.type != CacaoHeader.EIP4361) {
    throw Errors.getInternalError(
      Errors.MISSING_OR_INVALID,
      context: 'requestAuth() type must null or ${CacaoHeader.EIP4361}.',
    );
  }

  final expiry = params.expiry;
  if (expiry != null && !isValidRequestExpiry(expiry)) {
    throw Errors.getInternalError(
      Errors.MISSING_OR_INVALID,
      context:
          'requestAuth() expiry: $expiry. Expiry must be a number (in seconds) between ${AuthConstants.AUTH_REQUEST_EXPIRY_MIN} and ${AuthConstants.AUTH_REQUEST_EXPIRY_MAX}',
    );
  }

  return true;
}