geosolutions-it / djam

Django Access Management service
https://geosolutions-it.github.io/djam
0 stars 1 forks source link

Create user dashboard #47

Closed giohappy closed 3 weeks ago

giohappy commented 1 month ago

A tab inside the home page will host information relevant to the user. For the moment they will be the proxy services available to the user and its API Keys

Gpetrak commented 1 month ago

@giohappy I'm writing some points related with the task:

  1. Since the Resources tab displays the resources and the API keys, I would propose to rename the tab from "Resources" to "Dashboard" as we did for the corresponding view.
  2. DJAM displays all the available resources of a user where the corresponding AccessRule is active. Otherwise, the link `service/ doesn't work.
  3. If a user is included in a group and a role is assigned to this group but not directly to this user, the resources that are assigned to this role will not be available for this user in the dashboard
  4. The functionality of retrieving the available services was implemented in the proxy/utils.py as you recommended while the API keys in the identity_provider/utils.py
  5. I didn't add any extra authentication / authorization functionality, since I think that the home page is already protected by the current implementation for the main page.
Gpetrak commented 1 month ago

@giohappy the PR for the first sub-issues is available here It's worth noting that since the available sources has to be displayed as links using the DJAM's URLs http://<domain>/service/<resource>, DJAM will display only the resources of a user with active AccessRules since the inactive resources do not work.

Regarding the third sub-issue the following functionality was implemented: If no key is configured a message will say There aren't API Key configured while the same was implemented also for the available resources.