Flex Data Server - Authorization and/or Parameters in an Index

Answered
Bill Kaper asked on October 8, 2023

Hi,
 
We are trying to use Flex Data Server to connect to PostGreSQL to pull data into indexes for a multi-tenant SaaS application. A few questions:
1. Is there any way to implement authorization on an index without a reverse proxy type solution? Do you have any plans to offer authorization in the data server?
2. Are there any plans on the roadmap to allow for parameters in indexes? I read that you guys don't offer it because of caching, but couldn't a cache key based on the SHA of the index and parameters solve that problem?
3. Do you offer any way to extend the Flex Data Server through plug'ins or source modification? I see we could build our own customer data APIs, but that feels like overkill when we are fine with the aggregations you offer but just want to add a light layer of smarts over top of it. 

Thanks,
Bill

5 answers

Public
Maksym Diachenko Maksym Diachenko Flexmonster October 9, 2023

Hello, Bill!

Thank you for reaching out to us.

We recommend using Flexmonster Data Server as a DLL for extending the Data Server's functionality. FDS DLL is a separate .NET Core module that contains the basic functionality of Flexmonster Data Server (aggregations, data source connection, etc). However, being a server module instead of a standalone application allows customizing it.

You can add any authorization method to the server with Flexmosnter Data Server DLL. In addition, with the DLL, it is possible to pass the additional parameters from the client, as is shown in our "Implementing server filter" guide. These parameters can filter out certain members from a particular index.

Our team provides a sample GitHub project, containing a .NET Core app running Flexmonster Data Server as DLL: https://github.com/flexmonster/flexmonster-data-server-dll
Also, we highly recommend checking out the documentation for more information: https://www.flexmonster.com/doc/getting-started-with-data-server-dll/ 

Please let us know if you need any further assistance. 

Best Regards,
Maksym

Public
Bill Kaper October 9, 2023

Maksym, Thank you for the fast response!

Unfortunately we aren't building anything in .Net nor would I want to build web service in .Net just to ingest the DLL and then turn it into a web service. I'm trying to shed undifferentiated development activities. 🙂 

May I suggest you guys consider adding the API/Customization features offered in the .net core library in the Data Server proper as a future roadmap item, or at least provide a plugin / customization feature for the data server itself so a consumer can take advantage of all the good work in the data server without having to roll their own rest service or pick up .NET if their tech stack doesn't involve .NET already. 
In the meantime, we will do our authorization by letting the client side library do the aggregating off of a remote JSON file that pulls from our web server with authorization in that (loaded from a DB query serialized to JSON). We won't be able to do any of the server side aggregation goodness of the data server, but we can revisit the value in that down the line if the value outweighs the cost of us rolling our own custom APIs. 

Thanks!

Public
Maksym Diachenko Maksym Diachenko Flexmonster October 10, 2023

Hello, Bill!

Thank you for your feedback.

We agree that adding customization features would be beneficial for Flexmonster Data Server. Also, we understand that using the Data Server as DLL might not fit everyone, mainly when the .NET is not part of a stack.

Our team has added your suggestions for improving the Data Server to our backlog. However, kindly note that we do not have a specific timeline for the implementation.

Feel free to contact us if other questions arise.

Best Regards,
Maksym

Public
Bill Kaper October 11, 2023

Understood. Thank you for closing the loop and for adding the suggestion 🙂 

-Bill

Public
Maksym Diachenko Maksym Diachenko Flexmonster October 12, 2023

Hi, Bill!

Thank you for your feedback.
Do not hesitate to contact us if more questions arise.

Best Regards,
Maksym

Please login or Register to Submit Answer