I've got the latest WAB Dev Edition on my local pc. I've created an app that consumes this web map. The web map is fully open/public but only has two layers, which are secured within our on premises AGS using Windows AD authentication.
When I edit the WAB app and or launch it within my local dev env, everything works great. The app comes up, I authenticate against our AD and I get right in and can start editing those layers.
When I deploy the app to our external facing web server, the app hangs upon loading.
I have a second, none editable WAB app deployed on that same web server. It works just fine.
I'm assuming the issue is with those editable/secured layers. I've gotten esri feedback that I need to go the "proxy server" route but that doesn't make sense. I don't want my users to bypass our AD security. I want them to have to authenticate against those AGS layers. There is no AGOL login/named user needed as this map is public. Perhaps I don't understand the concept of the proxy server.
Solved! Go to Solution.
I do not have experience with AD authentication but I would setup the proxy as recommended by esri support to allow WAB to initialize the identity manager properly to get access to the internal server resource.
Ok, I've followed these instructions and have also done some of what's on this page (in the green box) and am a little further in progress. Now, the app comes up but when I try to authenticate, I get a "Unable to access the authentication service" error.
I'm pretty much shooting blind on setting this up. Thanks for any suggestions.
One more question...
How do I properly maintain the app on the dev side of things? I'd like the config.json file to have the proper proxy entries on my dev pc but the app now won't launch properly from within Web App Builder. Do I have to configure my local web server to use proxy as well?
The WAB builder app has a NodeJS proxy built in if you leave the config.json file on your dev pointing to /proxy.js and only change the config.json for your production environment to point to the proxy on your web server than you should be fine.
Ok so basically I'll have two config.json files whereby the one on our external web server can't get overwritten with the one in my dev env, unless I update it with new widgets or whatever, in which case I'll need to overwrite it, then paste back in the custom proxy bits.