MapStory / mapstory

MapStory is the free atlas of change that everyone can edit
http://mapstory.org
GNU General Public License v3.0
52 stars 41 forks source link

Add pki functionality to mapstory: installing django-ssl-pki app, uti… #1978

Closed travislbrundage closed 4 years ago

travislbrundage commented 4 years ago

…lizing proxy override for sslpki app, and adding bearer token to headers in remote services

This requires bumping the GeoNode dependency to the latest of 2.8.x, including the ArcREST updates submitted here: https://github.com/GeoNode/geonode/pull/5580

EDIT: As noted, at this time the 2.8.x branch is no longer maintained, so the initial PR to update GeoNode there has been rejected. For now I will be pushing it straight to MapStory's deps/geonode on top of 2.8.x, though the proper thing to do will be to upgrade to 2.10.x which these same changes are already PR'd too and will likely eventually be included.

There is also a necessary bugfix for modern pip versions which has broken the build. The MapStory deps/geonode PR here: https://github.com/MapStory/geonode/pull/2

Additionally, the front end must use the internal proxy in MapLoom and story-tools-composer to make the PKI app effective.

MapLoom: https://github.com/MapStory/MapLoom/pull/54 story-tools-composer: https://github.com/MapStory/story-tools-composer/pull/401

EDIT: Finally, this PR will be updated to bump the deps as needed (geonode, maploom, story-tools-composer). For some reason the .gitmodules pointed to story-tools-composer/master although the commits are from its release-2.1.x branch, so that has been corrected and bumped from that branch.

travislbrundage commented 4 years ago

Marked up a few things. Do you mean to have so manny logger.debug lines?

Those are carryover from Exchange or GeoNode. I didn't know it would be weird, as I'm pretty sure there's quite a few throughout GeoNode.

Otherwise cleaned up based on your feedback - thank you!

As no one is available to merge, I am merging all related PRs as well as this one.

travislbrundage commented 4 years ago

Some updates to this.

Numerous bugs cropped up and have been resolved.

Firstly, the 2.8.x branch of GeoNode is retired - therefore, I cannot keep parity with GeoNode when making this update. In the future, MapStory should update to GeoNode 2.10.x or greater and cherry pick the relevant PKI code changes on top. The changes to GeoNode are largely bug fixes anyway, so there should not be much, if anything, to change in the future.

One source of the troubles was the most recent commit on MapStory's 2.8.x geonode branch. This is a backport of fixes from 2.10.x which appear to break the code in several ways. I attempted to revert the changes, but couldn't figure out what artifacts were being left behind, as doing the merge revert did not seem to get rid of all the changes. In the end, I decided to create a new geonode branch within the mapstory repository: release-2.1.x. It is to be used with the MapStory branch release-2.1.x for now. I have updated the submodules to reflect this change.

Apologies for merging this in myself, but at time of writing there's no funding (that I am aware of) for members of the community to review. Feel free to reach out with any questions or concerns regarding the changes and I am happy to discuss.