Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add user authentication and authorization #65

Closed
3 of 4 tasks
f-odhiambo opened this issue Mar 29, 2021 · 2 comments · Fixed by #114
Closed
3 of 4 tasks

Add user authentication and authorization #65

f-odhiambo opened this issue Mar 29, 2021 · 2 comments · Fixed by #114
Assignees
Labels
Remote Sync All issues related to syncing data from or to the FHIR server

Comments

@f-odhiambo
Copy link
Contributor

f-odhiambo commented Mar 29, 2021

User story :
As a CHW, I want to authenticate myself in order to interact with the different features in-app based on the different permissions assigned to me

Acceptance criteria :

  • Authenticate user details
  • Check for permissions and role
  • Load user profile
  • Load FHIR resources and other assets based on user profile
@f-odhiambo f-odhiambo changed the title Login Add user authentication and authorization Mar 31, 2021
@ekigamba ekigamba self-assigned this Apr 12, 2021
@dubdabasoduba
Copy link
Member

This is tied to #40 @f-odhiambo can @ekigamba work on this with @rehammuzzamil?

@ekigamba
Copy link
Contributor

The issue seems a bit broad for part 2 and 4. This repository being the building block for OpenSRP FHIR apps, part 2 and 4 might not be handled here. Currently, everything within the practitioners location is downloaded to the client device. We should use this for MVPs until a point when we need to limit data acess further within the practitioners location. This data might be data across modules. This discussion is also dependent on how the health administrative structure representation in FHIR that we agree on (location mapping) since this will inform us on how to filter sync resources.

@f-odhiambo In a case where we will have different types of practitioners or logins, then we would need to make sure that the type of practitioner has the roles/permissions required to access the device. Is this defined or within scope? Can we move this to another issue?

Authenticate user details & load user profile

  • We will have a login page
  • The login will hit the token endpoint on KeyCloak(authorization server) to get the bearer token
  • This token will be saved in AccountManager
  • The app will hit an endpoint to retrieve the Practitioner and PractitionerRole details so that we can check if they should be able to login. The PractitionerRole also provides us with organisation and location data that would be used in syncing

Misc

  • Authentication is going to be centrally managed by KeyCloak using Oauth2
  • An intergration with the HAPI FHIR server is required and being tracked here

@f-odhiambo f-odhiambo added Remote Sync All issues related to syncing data from or to the FHIR server and removed G6PD labels Apr 20, 2021
LZRS pushed a commit that referenced this issue Jun 25, 2024
* move questionnaire launch to Activity result contracts

* disable patient while loading data

* Update build.gradle.kts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Remote Sync All issues related to syncing data from or to the FHIR server
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants