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);