Verwenden Sie eine ArcGIS.com-Karte, die nicht für alle Benutzer der ArcGIS-API für JavaScript freigegeben ist?

10

Ich verwende ArcGIS.com gerne, um eine Karte mit operativen Layern auf einer Basisschicht zu erstellen. Ich möchte den Inhalt und die Karte als privat haben, aber die Karte in einer Anwendung anzeigen, die mit der JavaScript-API erstellt wurde. Ich habe versucht, mit dem neuen IdentityManager die Anwendung in einem Anmeldedialog anzuzeigen. Es funktioniert, aber ich bekomme: "Ungültiger Benutzername / Passwort. Bitte versuchen Sie es erneut."

Geben Sie hier die Bildbeschreibung ein

Ich bin ein Neuling bei ArcGIS.com und JS und habe möglicherweise etwas durcheinander gebracht. Weiß jemand, ob es möglich ist, auf Karten zuzugreifen, die nicht öffentlich freigegeben sind? Es ist kein Problem, mit Createmap auf die Karte zuzugreifen , solange die Karte für alle freigegeben ist.

Geben Sie hier die Bildbeschreibung ein

MathiasWestin
quelle

Antworten:

8

Der Identitätsmanager muss einen POST durchführen, um sich anzumelden und auf Ihre Webmap zuzugreifen. Da Sie auf arcgis.com klicken, handelt es sich um eine domänenübergreifende Anfrage. Sie müssen dies also über einen Proxy tun . Haben Sie einen Proxy für Ihre App eingerichtet?

In den Dokumenten ist dies nicht klar. Wir werden unsere Dokumentation dahingehend aktualisieren, dass Sie einen Proxy verwenden müssen, wenn Sie eine private Webmap in einer App verwenden möchten, die Sie selbst hosten (wenn Sie nicht geraten haben, arbeite ich im JS-API-Team).

Derek Swingley
quelle
Downvoted und kein Kommentar?
Derek Swingley
Dies scheint mir eine völlig vernünftige Antwort zu sein ...
Stephen Lead
1
Na ja, das ist das Internet ...
Derek Swingley
@ Derek-Swingley Ich habe den ASP.NET-Proxy zum Laufen gebracht. Aber es wäre großartig, wenn die Implementierung bei Bedarf neue Token erhalten könnte.
MathiasWestin
@MathiasWestin freut sich zu hören, dass du es zum Laufen gebracht hast. Der Identitätsmanager sollte nach Bedarf neue Token erhalten. Sobald Ihre App versucht, eine Ressource mit einem abgelaufenen Token zu treffen, sollte der Identitätsmanager aktiv werden und ein neues, gültiges Token erhalten.
Derek Swingley