I'm trying to generate a token to access
http://landscape1.arcgis.com/arcgis/rest/services/USA_Geology_Units/MapServer
var params = {
username: username
password: password
//referer: 'http://l' + $(location).attr("host") + '/',
referer: 'http://landscape1.arcgis.com/arcgis/rest',
expiration: 1440,
f: "json"
};
$.ajax({
url: "https://www.arcgis.com/sharing/rest/generateToken?",
type: "POST",
dataType: "json",
data: params,
success: function (data) {
the token in the data object is not working, the landscape1 just redirects to the login page.
Any ideas?
Here my function for that. I hope this helps.
function validate() {
var username = 'YOUR USERNAME';
var password = 'YOUR PASS';
var http = new XMLHttpRequest();
var url = "YOUR TOKEN URL";
var str1 = "username=";
var str2 = "&password=";
var str3 = "&f=json&client=requestip&expiration=1440";
var params = str1.concat(username, str2, password, str3);
//f="json", client="requestip", expiration="1440"
http.open("POST", url, true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");
http.onreadystatechange = function () {
if (http.readyState == 4 && http.status == 200) {
var tokenResponse = http.responseText;
token=JSON.parse(tokenResponse);
if (tokenResponse.search("error") == -1) {
esri.id.registerToken(
{server: 'YOUR REST SERVICE',
userId: 'YOUR EXAMPLE USER',
token: token.token,
expires: token.expires,
ssl: false
});
//DO SOMETHING
.....
} else {
alert("Incorrect Login, try again.");
}
}
};
http.send(params);
return false;
}