Question

FndODataProvider and Security

  • 27 December 2023
  • 2 replies
  • 41 views

Userlevel 3
Badge +8

Hi.

I would like to know how does the FndODataProvider component split the URL elements to get the items:

  • Projection
  • EntitySet
  • Action / Function

By reading the documentation, we know the component FndODataProvider is able to parse the URL in the following way:

It seems easy to get the projection, in this case MyService.svc but not the EntitySet or Action/Function (if exists). Let’s check another URL from real IFS Cloud instance:

 

https://customername-cfg.ifs.cloud/main/ifsapplications/projection/v1/CustomerHandling.svc/CustomerInfoSet(CustomerId='10002489')/CustomerPayments(Company='2202',Identity='10002489',PartyType=IfsApp.CustomerHandling.PartyType'Customer')/PaymentWayArray

 

If I’m not wrong, here we have several EntitySets:

  • CustomerInfoSet
  • CustomerPayments
  • PaymentWayArray

So my question would be… given the OData Access section from the URL, do we have some service (PLSQL API or REST API) that can provide the EntitySet, Action/Function being invoked?

 

With this information along with the Projection Name, the HTTP verb and a given User Id it would be possible to check the Permission Set information to determine whether or not to invoke the request.

 

The reason behind this question is the necessity of 3rd party tool to connect to IFS Cloud and invoke several APIs on behalf of a User. The access will be done via a Service User with full access to all IFS Cloud REST APIs. This 3rd party tool will read a script of actions and each action will be tagged with a User Id. Only if the User has permissions to perform the operation, the Service User will do it. That’s why we need a mechanism to extract the Projection/EntitySet/Action/Function and check for Permission Sets before the action is finally invoked.

 

Thank you much for your help and tips.

Best regards.

Gonzalo.

 

 

 

 


2 replies

Badge +1

Any Update Regarding above @Anyone? 

Badge +1

@Marc BOBENRIETH For you information we have raised this to IFS community!

Thank you!

Irshad

Reply