Unable to use eholdings on user with highly limited Permissions

Description

1.Create a user.
2. Assign it eholdings permissions. I gave it all eholdings labelled permissions
3.Log in to the new user
4 Click eholdings app
5.Observe screen shot attached
6 bonus step: refresh page; note user is logged out.

This happened with high % reproduction. Approximately 75%+
A few times I was able to actually see the page and interact with eholdings.

CSP Request Details

None

CSP Rejection Details

None

Potential Workaround

None

Attachments

2
  • 29 Aug 2019, 03:24 PM
  • 28 Aug 2019, 06:21 PM

Checklist

hide

TestRail: Results

Activity

Show:

Sobha Duvvuri August 29, 2019 at 3:36 PM
Edited

Some additional details to add:
1. Created a test user in https://folio-testing.aws.indexdata.com
2. username: sduvvuri
3. Assigned all eHoldings related permissions that show in UI(there were 6 on a quick search of eHoldings in plugin) - Observed that UIEH master branch package.json has "displayName": "Settings (eHoldings): display list of settings pages”, and this is not available from quick search of permissions to assign. please see screenshot attached.


4. Then a quick search of permissions for the user ->

https://folio-testing-okapi.aws.indexdata.com/perms/users/d7b79653-806a-42eb-9cad-e05497bf0a82/permissions?full=true&indexField=userId

gives response below:

{ "permissionNames" : [ { "permissionName" : "ui-eholdings.settings.kb", "displayName" : "Settings (eHoldings): configure EBSCO RM API credentials", "id" : "e9b3fc61-5e64-4196-b649-3e8c7d8f555e", "tags" : [ ], "subPermissions" : [ "settings.eholdings.enabled" ], "childOf" : [ ], "grantedTo" : [ "661cce6e-1281-4d41-bd52-a9c368ec7b5f", "c8c702e1-66fe-4489-8d5f-b51af28eda6a" ], "mutable" : false, "visible" : true, "dummy" : false }, { "permissionName" : "ui-eholdings.records.edit", "displayName" : "eHoldings: Can edit providers, packages, titles detail records", "id" : "d531f87c-380f-4b0c-a6f7-7ceefc644d85", "tags" : [ ], "subPermissions" : [ "kb-ebsco.packages.item.put", "kb-ebsco.resources.item.put", "kb-ebsco.providers.item.put" ], "childOf" : [ ], "grantedTo" : [ "661cce6e-1281-4d41-bd52-a9c368ec7b5f", "c8c702e1-66fe-4489-8d5f-b51af28eda6a" ], "mutable" : false, "visible" : true, "dummy" : false }, { "permissionName" : "ui-eholdings.titles-packages.create-delete", "displayName" : "eHoldings: Can create and delete custom packages and titles", "id" : "bbe1eee1-2410-4ae1-81cf-ac876b0d9333", "tags" : [ ], "subPermissions" : [ "kb-ebsco.packages.collection.post", "kb-ebsco.resources.collection.post", "kb-ebsco.titles.collection.post", "kb-ebsco.packages.item.delete", "kb-ebsco.resources.item.delete" ], "childOf" : [ ], "grantedTo" : [ "661cce6e-1281-4d41-bd52-a9c368ec7b5f", "c8c702e1-66fe-4489-8d5f-b51af28eda6a" ], "mutable" : false, "visible" : true, "dummy" : false }, { "permissionName" : "ui-eholdings.settings.root-proxy", "displayName" : "Settings (eHoldings): configure root proxy setting", "id" : "a24aa651-dd1b-44a1-89dd-d9b679856d66", "tags" : [ ], "subPermissions" : [ "settings.eholdings.enabled" ], "childOf" : [ ], "grantedTo" : [ "661cce6e-1281-4d41-bd52-a9c368ec7b5f", "c8c702e1-66fe-4489-8d5f-b51af28eda6a" ], "mutable" : false, "visible" : true, "dummy" : false }, { "permissionName" : "ui-eholdings.package-title.select-unselect", "displayName" : "eHoldings: Can select/unselect packages and titles to/from your holdings", "id" : "817dbe89-d705-46ef-8af8-27cb1966f81c", "tags" : [ ], "subPermissions" : [ "kb-ebsco.packages.item.put", "kb-ebsco.resources.item.put" ], "childOf" : [ ], "grantedTo" : [ "661cce6e-1281-4d41-bd52-a9c368ec7b5f", "c8c702e1-66fe-4489-8d5f-b51af28eda6a" ], "mutable" : false, "visible" : true, "dummy" : false }, { "permissionName" : "module.eholdings.enabled", "displayName" : "UI: eHoldings module is enabled", "id" : "2b700c3c-94af-4b20-8967-c44db71e2d5b", "tags" : [ ], "subPermissions" : [ "kb-ebsco.all" ], "childOf" : [ ], "grantedTo" : [ "661cce6e-1281-4d41-bd52-a9c368ec7b5f", "c8c702e1-66fe-4489-8d5f-b51af28eda6a" ], "mutable" : false, "visible" : true, "dummy" : false } ] }

5. Then login as the new user : sduvvuri
6. On login - there are a few requests that are made and these 3 requests below error out :

https://folio-testing-okapi.aws.indexdata.com/configurations/entries?query=(module=ORG%20and%20configName=localeSettings)

Response:

Access requires permission: configuration.entries.collection.get
https://folio-testing-okapi.aws.indexdata.com/configurations/entries?query=(module=PLUGINS)

Response:

Access requires permission: configuration.entries.collection.get
https://folio-testing-okapi.aws.indexdata.com/configurations/entries?query=(module=ORG%20and%20configName=bindings)

Response:

Access requires permission: configuration.entries.collection.get

Getting the above permissions should be probably handled by stripes-core: https://github.com/folio-org/stripes-core/blob/27f9ae355af546d6384f8649a1eaeea9c37114bb/src/loginServices.js
but if not - "modulePermissions": ["configuration.entries.collection.get"] should be added to most/all endpoints in mod-kb-ebsco-java - not sure if this is a UI ticket.

Done

Details

Assignee

Reporter

Priority

Story Points

Sprint

Development Team

Spitfire

Fix versions

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs
Created August 28, 2019 at 6:27 PM
Updated November 14, 2019 at 2:07 PM
Resolved November 14, 2019 at 2:07 PM
TestRail: Cases
TestRail: Runs

Flag notifications