JSFiddle - React, Tailwind, and code Playground
by Mohammed Fellak
HTML
<html>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">;
<body>
<div class="container"><div class="page-header"><h1>Token Sample</h1></div></div>
<button type="button" class="btn btn-primary" onclick="begin()">Generate Token</button>
<div class="well well-lg" id="textArea"></div>
</body>
</html>
JavaScript
function begin() {
//BEGIN CONFIG PARAMETERS -------------------------------------------------------------------------
var baseRestURL = "https://env-73627.customer.cloud.microstrategy.com/MicroStrategyLibrary";
var username = "steve";
var password = "";
//END CONFIG PARAMETERS -------------------------------------------------------------------------
createAuthToken(baseRestURL, username, password, function authCallBack(token) {
document.getElementById("textArea").innerHTML = token;
});
}
function createAuthToken(baseRestURL, username, password, callback) {
var APIPath = "/api/auth/login";
var completeRestURL = baseRestURL + APIPath;
console.log("REST API URL: " + completeRestURL);
var method = "POST";
var postData = "{\"username\": \"" + username + "\",\"password\": \"" + password + "\",\"loginMode\": 1,\"applicationType\": 35}";
var url = completeRestURL;
var async = true;
var request = new XMLHttpRequest();
request.onload = function() {
console.log("ONLOAD");
var status = request.status; // HTTP response status, e.g., 200 for "200 OK"
console.log(status);
var token = request.getResponseHeader("x-mstr-authtoken");
return callback(token);
}
request.open(method, url, async);
request.setRequestHeader("Content-Type", "application/json");
request.setRequestHeader("Accept", "application/json");
request.send(postData);