if you have to add a secure layer from the ArcGIS server ,at first you have to get token for this server
so first step is to send a request to server and get token.
for that i always use The System.Net.WebRequest for cerating a request and sending it to server
the MapSettign is a class the contains The UserName and Password for getting the Token
public partial class MapSetting
{
public int Id { get; set; }
public string Provider { get; set; }
public Nullable IsSecure { get; set; }
public string Token { get; set; }
public string EnvelopExtent { get; set; }
public string WmsUrl { get; set; }
public Nullable X { get; set; }
public Nullable Y { get; set; }
public Nullable Zome { get; set; }
public Nullable Scale { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public string TokenUrl { get; set; }
public string WmsLayerNames { get; set; }
public string BingKey { get; set; }
}
private async void LoadSecureLayer(DAL.Model.MapSetting setting)
{
var GetTokenurl = setting.TokenUrl + "?request=getToken&username=" + setting.UserName + "&password=" + setting.Password + "&expiration=30";
System.Net.WebRequest request = System.Net.WebRequest.Create(GetTokenurl);
System.Net.WebResponse response = request.GetResponse();
System.IO.Stream responseStream = response.GetResponseStream();
System.IO.StreamReader readStream = new System.IO.StreamReader(responseStream);
var theToken = await readStream.ReadToEndAsync();
var layer = new ArcGISDynamicMapServiceLayer(new Uri(setting.WmsUrl));
layer.ID = "network";
layer.Token = theToken;
mapview.Map.Layers.Add(layer);
await mapview.SetViewAsync(layer.FullExtent);
}
after geting token you have to add this tken to your layer
layer.Token = theToken;
this line do that.
I hope this article will be usefull for you.
Hi. What is the type of the token that is generated by the ArcGIS? is it the JWT toke?
Answer