The SIMS Portal makes use several geodata services to handle location services. Users can tag their work location to their profiles, which is then referenced in several ways across the site, including the spinning globe on the landing page and timezone calculations for assignments.
When users use the Update Location feature on their profiles, the location they input is passed to the Google Maps API to find the best match. A small map is embedded in the confirmation page to ensure they are selecting the right place when there might be ambiguity or multiple locations with the same name. When saving the confirmed location, several fields in the user’s record in the database are updated, including the coordinates (used for the map), the timezone (used for calculating time offsets on assignments), and the place’s label (used to display the actual location name on the user’s profile).
Google Maps API Key
The private token used to authenticate server requests is managed by Jonathan Garro on his Google Maps Developer account. Any changes or updates will need to be made by him, or another authorized member of the SIMS Portal development team.
API Security Limitations
In addition to not sharing the key, we also have limited the sites that are able to make use of it. That means if the key were to be leaked, it still wouldn’t function anywhere outside of the SIMS Portal. This restriction is achieved by limiting the IP addresses that can use it. While the AWS server that hosts the Docker container uses a static IP that should not change when deploying code updates, it is still possible that it will need to be updated in the future. To update the whitelisted IP:
- Log into the Google Maps Developer site using Jonathan’s credentials, or have him add you as a separate user to the account.
- Select SIMS Portal from the project dropdown.
- Click on Keys & Credentials, then select Maps API Key.
- Under Key Restrictions, you should see the existing IP address listed. Use the pencil icon to update this to a new value.