ArcGIS API for JavaScript4.6 token认证问题

怎么去在每次发送请求的时候在url里面加上token参数
已邀请:

JoKer_465

赞同来自:

你好请问你这个问题解决了吗? 我现在很紧急解决这个问题,如果解决了 可以联系我一下吗? qq1476847306  非常感激

swaggyP - 网络粉刷匠

赞同来自:

直接用rest api 请求获取token ,然后服务地址+?token=获取的token就可以
generateToken地址:http://ip:6080/arcgis/admin/generateToken
generateToken rest api参考地址:https://developers.arcgis.com/rest/users-groups-and-items/generate-token.htm
 

Locker97 - 新晋GISer

赞同来自:

假设现在有一个服务url:http://192.168.1.1:6080/arcgis/rest/service/MapService ,
直接调用浏览器控制台会报错:the server responded with a status of 404 (Not Found),或者esri.config.defaults.io.proxyUrl 尚未进行设置。
这就需要使用token。
token的获取url:http://192.168.1.1:6080/arcgis/admin/generateToken 。

TIM截图20190903174024.jpg

 
这里主要说一下两个参数,Client和HTTP referer
Client一般是选HTTP Referer(因为个人电脑一般没有固定公网ip),
下一行的HTTP referer填写你Web应用的url(而不是服务的url),即你的WebGIS程序需要放在本地的服务器(IIS或者Tomcat都可以)上运行,不能通过直接双击打开HTML的方式运行。
 
之后点击Generate,把下方生成的token复制。
在程序中,把服务url和token拼接起来,拼接规则:服务url?token=xxxxxx,
即最终给js方法的url是http://192.168.1.1:6080/arcgis/rest/service/MapService?token=xxxxxx
 
注:192.168.1.1请自行换成你自己Server的ip(装在本机就填localhost),172.16.8.31请自行换成你WebGIS应用所在服务器的ip。

要回复问题请先登录注册