Por favor, tenga en cuenta: Este blog asume que ya ha descargado, alojado y configurado correctamente un proxy. ¿No está seguro si lo ha hecho? No se preocupe; simplemente siga las instrucciones AQUÍ<\/STRONG> <\/A>.<\/EM><\/P>Solo para recapitular, aquí hay algunas razones para configurar un proxy con una aplicación Web AppBuilder.Acceder a servicios seguros con autenticación basada en token<\/LI>Acceder a recursos a través de dominios cruzados<\/LI>La solicitud excede los 2,048 caracteres<\/LI>Se utilizan inicios de sesión de aplicaciones O-Auth 2.0<\/LI>Permite el registro<\/LI>Limitación de tasa basada tanto en recursos como en referer<\/LI><\/UL><\/BLOCKQUOTE>Para asegurarnos de que todos estemos en la misma página, aclaremos el panorama. Se ha creado una aplicación maravillosa dentro de la Developer Edition de Web AppBuilder. Adelante, verifique que la aplicación haya sido descargada y desplegada en un servidor web.Dos cosas están aseguradas:Un mapa web de ArcGIS Online compartido con la organización<\/LI>Un servicio de mapas de ArcGIS for Server asegurado usando ArcGIS Server incorporado con tokens de ArcGIS<\/LI><\/OL><\/BLOCKQUOTE>En este ejemplo, tendremos dos desafíos cuando ejecutemos la aplicación: uno, autenticar el mapa web asegurado y dos, asegurar el servicio de mapas de ArcGIS for Server.Cuando abrimos las herramientas de desarrollador y miramos la pestaña Network, podemos ver que la respuesta devuelve un error 403 al acceder al mapa web de ArcGIS Online. Esto se debe a que por defecto, un usuario anónimo no tiene permiso para acceder a este recurso.<\/A> desafío para asegurar un mapa web<\/P><\/DIV>Para el segundo desafío, vemos que en la pestaña Network, la aplicación no logra cargar el servicio, devolviendo un error 499 token required. Esto nos indica que para acceder al contenido, necesitamos pasar un token.<\/A> desafío para asegurar un servicio de mapas de ArcGIS for Server<\/P><\/DIV>¡Muy bien, ahora estamos listos para comenzar!1. En el Explorador de Windows, abra el archivo "config.json" de la aplicación. <\/A>2. En la parte inferior del archivo, hay un lugar acogedor para agregar la regla del proxy a la aplicación. <\/A>El parámetro useProxy<\/STRONG> (Booleano) está configurado en true por defecto. Si se establece en false, todas las solicitudes no usarán un proxy.El parámetro url<\/
desafío para asegurar un mapa web<\/P><\/DIV>Para el segundo desafío, vemos que en la pestaña Network, la aplicación no logra cargar el servicio, devolviendo un error 499 token required. Esto nos indica que para acceder al contenido, necesitamos pasar un token.
desafío para asegurar un servicio de mapas de ArcGIS for Server<\/P><\/DIV>¡Muy bien, ahora estamos listos para comenzar!1. En el Explorador de Windows, abra el archivo "config.json" de la aplicación.
If you get a popup message to sign-in, it's either the proxy didn't trigger for the request or you don't have permissions to access some portal items through the proxy. You need to narrow the problem by accessing the resources through the proxy directly to understand if it works or not -
https://#proxy-url/proxy.ashx#?#resource-url#
and always work with fiddler or the network tab in dev-tools, to examine the response.
When creating an app with client id+secret, you delegate access to Portal for that user who created that app. if Portal items are not owned by/shared with that user who created the dev app, you will still not be able to access these portal items with the client id + secret
How did you resolve the pop up issue ?
Hi, Did you get anything that worked for you ?Please reply, It will be greatful
Hello,
After performing all the steps you mentioned, I am still getting popup for Login using Username Password. Screenshot - 09bb900de3a61f481b47527b1cf0b308 - Gyazo
My HttpProxy looks something like this.
and Proxy.config look like this.
<serverUrl url="http://geollect.maps.arcgis.com/sharing/rest" clientId="sdsdsdsddffCCuDcgfdgfg" clientSecret="dsdsdsdsdsdsds34e18gfgfgfgf" matchAll="true"/> <serverUrl url="http://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer" username="username" password="password" matchAll="true" /> <serverUrl url="http://services.arcgis.com"clientId="sdsdsdsddffCCuDcgfdgfg"clientSecret="dsdsdsdsdsdsds34e18gfgfgfgf" matchAll="true"/> <serverUrl url="http://route.arcgis.com"clientId="sdsdsdsddffCCuDcgfdgfg"clientSecret="dsdsdsdsdsdsds34e18gfgfgfgf" matchAll="true" />Can you help me here?
Is there additional settings/config to get this working on an Enterprise 10.6x instance with Portal and Active Directory authentication?
I have the proxy working on a 10.3 instance with no Portal and simple ArcGIS Server User Store, but on this new server instance it continues to prompt with the login page.
I have so far: - installed the DotNet proxy files - created the Application in IIS - setup the serverUrl details in the proxy.config file using one of the ArcGIS user credentials (not an AD user) - the proxy URLs test successfully:
https://<my-server>/DotNet/proxy.ashx?https://my-server/portal/sharing/rest/content/items/<some itemID 1>
https://<my-server>/DotNet/proxy.ashx?https://my-server/portal/sharing/rest/content/items/<some itemID 2>
https://<my-server>/DotNet/proxy.ashx?https://my-server/arcgis/rest/services/<Folder Name>
So the proxy seems to be working, but it still fires the login page when hitting the web app?
Any ideas/suggestions would be greatly appreciated.
Bill, did you find an answer to this question? I believe I may be experiencing the same issue the proxy gets my into the web map fine, but i'm challenged for the arcgis login when running the analysis widget.
Thanks!
JP
I can't seem to figure out how to deploy my web app.
For me, it is still unclear what the following parameters are for my app:
yourDomainyourDomainNameyourSecuredService
I guess 'yourDomain' is "routeplannerpedestrianthesis". This is the domain I set in the Data Source URL (https://laptop-p9sbpmdc.routeplannerpedestrianthesis:3344/webbuilder ) in the settings of the web app. But if this is true, what is "yourDomainName", does this differ from "yourDomain"? In addition, I am also not sure what "yourSecuredService" could be. Below you can see my proxy.config file and my config.json file. Please let me know what I am doing wrong. For obvious reasons I deleted my ClientID, ClientSecret and username and password in the printscreen. In my webapp I make use of the Plan Route widget.
I set up the DotNet proxy on the same machine as my app.
I set up the application's config.json with one rule:
"httpProxy": { "useProxy": true, "alwaysUseProxy": false, "url": "", "rules": [{ "urlPrefix": "https://SERVER1/borOutreach", "proxyUrl": "https://SERVER1/DotNet/proxy.ashx" }] }<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
I set the proxy.config with one serverUrl:
<SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>serverUrls</SPAN><SPAN class="punctuation token">></SPAN></SPAN> <SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"><</SPAN>serverUrl</SPAN> <SPAN class="attr-name token">url</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN><A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2FSERVER1%2FborOutreach" target="_blank">https://SERVER1/borOutreach</A><SPAN class="punctuation token">"</SPAN></SPAN> <SPAN class="attr-name token">matchAll</SPAN><SPAN class="attr-value token"><SPAN class="punctuation token">=</SPAN><SPAN class="punctuation token">"</SPAN>true<SPAN class="punctuation token">"</SPAN></SPAN><SPAN class="punctuation token">/></SPAN></SPAN> <SPAN class="token tag"><SPAN class="token tag"><SPAN class="punctuation token"></</SPAN>serverUrls</SPAN><SPAN class="punctuation token">></SPAN></SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
https://SERVER1/DotNet/proxy.ashx?ping returns
{ "Proxy Version": "1.1.2", "Configuration File": "OK", "Log File": "Not Exist/Readable"}
But https://SERVER1/DotNet/proxy.ashx?https://SERVER1/borOutreach?f=pjson fails to load anything, looking for simpleLoader.js , init.js, env.js etc. at https://SERVER1/DotNet/fileName.ext
If I swap out http://esri.com for https://SERVER1/borOutreach in config.json and proxy.config, it loads the (poorly formatted) Esri webpage.
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate para una cuenta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.