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

Support service account auth for Cloud Healthcare API integration #125

Closed
dzelemba opened this issue May 19, 2020 · 3 comments
Closed

Support service account auth for Cloud Healthcare API integration #125

dzelemba opened this issue May 19, 2020 · 3 comments

Comments

@dzelemba
Copy link

Is your feature request related to a problem? Please describe.
When following the instructions at https://nroduit.github.io/en/basics/customize/integration/#google-cloud-healthcare-api, you have to pass a static authorization token that expires after 1hr.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Instead it'd be great to either

  1. provide a service account in the config that can be used to generate tokens, or
  2. implement an OAuth 2.0 flow to allow users to sign in via their own Google credentials

Note that implementing the first option is probably much simpler.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

https://github.com/GoogleCloudPlatform/weasis-chcapi-extension provides an implementation of option 2 above, but isn't compatible with the latest version of Weasis

Additional context
Add any other context or screenshots about the feature request here.

Thanks for considering this! If there isn't enough bandwidth to tackle this issue, an understanding of whether this would be a welcome FR and if so, some quick pointers would be great.

@nroduit
Copy link
Owner

nroduit commented May 20, 2020

Yes, the best solution would be to have an OAuth client in Weasis. This would facilitate integration with the Cloud Healthcare API without the need for a special plugin.

@nroduit
Copy link
Owner

nroduit commented Apr 23, 2021

An OAuth2 client has been integrated in Weasis and allows access to a server with OAuth2 authentication. Here is a snapshot build for testing.
Create a dicom web node from Preferences and then use DICOM Q/R with the DICOMWeb node.
Sélection_069

For the moment there are 2 templates that help to generate all the configuration: Google Cloud Healthcare and Keycloack.
Here is for Google Cloud Healthcare, the pre-filled fields:
Authentication Method_068

@dzelemba Could the Client ID and Secret be distributed publicly? The one in the Weasis plugin: 952621265781-q7lsqhhths8jp5k124nqj7qo1la92ps5.apps.googleusercontent.com

I still need to finalize the OIDC implementation to launch Weasis from a website with authentication.

@dzelemba
Copy link
Author

Nice! This looks great.

Ya we were able to distribute it because it's a downloadable client side application and having user's create their own client IDs was too difficult. You just have to be aware than anyone can grab those secrets and use them in their own application, so you should monitor usage to detect potential abuse.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants