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

Geoserver/Geonode endpoints via Girder plugin #59

Open
mbertrand opened this issue Mar 7, 2016 · 4 comments
Open

Geoserver/Geonode endpoints via Girder plugin #59

mbertrand opened this issue Mar 7, 2016 · 4 comments

Comments

@mbertrand
Copy link
Collaborator

@aashish24 Current endpoints for a typical geonode installation:

@aashish24
Copy link
Collaborator

WMS: http://<geonode_url>/geoserver/wms

GetCapabilities
GetFeatureInfo
GetMap
Filters and other parameters
etc

Sounds good. Can we have:

I think these three would be good enough for now.

@mbertrand
Copy link
Collaborator Author

@aashish24 in terms of authorizing geoserver proxy requests, I can think of a few options, let me know which you prefer:

  1. Set a username and password in the gaia configuration file that will be used for authenticating all proxy requests (should be an admin user for REST requests). Advantage: does not require any knowledge or action on part of the user for providing credentials. Disadvantage: allows any user to potentially abuse the admin capabilities of the Geoserver instance.
  2. Do not set any specific user and password by default. Instead leave it up to the main application/UI to handle this, such as providing a form for entering these values, then including them as a base64 Authorization in the request header sent to Gaia. Advantage: most secure option. Disadvantage: More work for the UI application (provide the form, process the input, send to Gaia with the modified headers).
  3. Allow username and password parameters in the URL request (http://mygirder/geo/rest/wms?request=GetCapabilities&username=admin&password=mypassword). Advantage: user can enter credentials (if known) without the need for a UI. Disadvantage: Less secure due to credentials being in the URL itself.

@aashish24
Copy link
Collaborator

Do not set any specific user and password by default. Instead leave it up to the main application/UI to handle this, such as providing a form for entering these values, then including them as a base64 Authorization in the request header sent to Gaia. Advantage: most secure option. Disadvantage: More work for the UI application (provide the form, process the input, send to Gaia with the modified headers).

I would prefer 2) Since the authorization will be maintained by something else. at this this point we don't have how that's going to work. So leaving it open to application or third party seems most viable to me.

@mbertrand
Copy link
Collaborator Author

Pushed a new branch: https://github.com/OpenDataAnalytics/gaia/tree/geoserver_proxy

  • Handles GET, POST, and PUT requests
  • Geoserver base url is specified in config file
  • Authentication is left up to the user/developer (ie adding Authorization header).
  • Base url is http://mygirderdomain/geo, but enabling minerva will shift this to http://mygirderdomain/girder/geo.
  • This should handle any geoserver URL that is accessible via GET, POST, or PUT: WMS, WFS, WCS, WPS, REST, etc.
  • I'll make a PR request soon after doing some more testing.

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

No branches or pull requests

2 participants