Esri / map-tools-template

Configurable application template that enables you to display an ArcGIS web map using a variety of tools.
Apache License 2.0
23 stars 32 forks source link

Application does not load tools if credential is not provided for private layer #8

Open sam-berg opened 9 years ago

sam-berg commented 9 years ago

Hi Kelly. We found this week that this template will not fully load the UI and tools, and that there is likely an unhandled error when it loads a webmap with an authenticated secure layer. Here is a webmap for example with only a basemap and one unshared (owned by different user than owner of app and webmap) layer:

http://esrinortheast.maps.arcgis.com/apps/MapTools/index.html?webmap=3435d9bdcda6485a8cf3f8e749172e9c

Depending on browser and logged in state of ArcGIS Online you may or may not get prompted with the Identity Manager login screen. If you cancel, provide a credential without permissions to the secure layer, or don't receive a prompt at all (sometimes seeing this in Chrome Incognito), the tool UI never loads and it looks like there are some errors in the console.

Just wanted to report it. Let me know if you would like any additional information about the use case, etc.

kellyhutchins commented 9 years ago

@sam-berg I tested with Firefox, Safari and Chrome and all three prompted me for log-in. Can you provide more details about the situations you've encountered where the IM doesn't appear?

Yeah if you cancel the dialog the UI will fail - I will look at adding logic to detect that and perhaps remove the layer from the map. No time-frame on when that logic would be aded to the template yet.

sam-berg commented 9 years ago

@kellyhutchins What I bet this is, and this closely would sync to the actual use case, is that once you have logged in via the Identity Manager prompt, and go back to that browser and load the app again, in many cases because your authentication is seemingly cached, you don't get prompted to log in again, so all you get is the broken app. I just tried this and in Firefox, having logged in (unsuccessfully in that the target layer does not show up) to the app, open that URL to the app again: no login, "broken" app. In the actual use case, all layers and the app are shared to a group. Then, based on some workflow, a user maintaining a layer in that group and used by that map/app, unshared the layer. Authenticated users of the app when accessing that app start to report getting a broken application while that layer is unavailable.
Actually a better use case is when you are logged into an Org, go to a group where this app is shared, and then launch it. You likely won't be prompted because you are already authenticated and you just get the "broken" app. Would be great if you could figure a way to remove that layer from the app as you note... Wonder if other templates have this behavior or not. Nothing critical here; just wanted to note it. Thanks.