Token Based Authentication

Authentication with a token - see the TIBCO JasperReports Server Authentication Cookbook

by Kishoreajey

HTML

<!-- Visualize: login/logout with SSO sample (5.6)
  -->

<script type='text/javascript' src="https://code.jquery.com/jquery-2.1.0.js"></script>
<script type='text/javascript' src="http://jaspersoftdev.healthcareit.net/jasperserver-pro/client/visualize.js"></script>
<select id="selected_resource" disabled="false" name="report">
	<option value="/public/Samples/Reports/AllAccounts">All Accounts (light)</option>
	<option value="/public/Samples/Reports/5g.AccountsReport">All Accounts (dark)</option>
	<option value="/public/Samples/Reports/SalesByMonthReport">Sales By Month Report (light)</option>
	<option value="/public/Samples/Reports/11g.SalesByMonthReport">Sales By Month Report (dark)</option>
	<option value="/public/Samples/Reports/ProfitDetailReport">Profit Detail Report (light)</option>
	<option value="/public/Samples/Reports/06g.ProfitDetailReport">Profit Detail Report (dark)</option>
	<option value="/public/Samples/Reports/9.CustomerDetailReport">Customer Detail Report (light)</option>
	<option value="/public/Samples/Reports/9g.CustomerDetailReport">Customer Detail Report (dark)</option>
	<option value="/public/Samples/Reports/State_Performance">Performance by Store Type (light) </option>
	<option value="/public/Samples/Reports/10g.PerformanceByStoreType">Performance By Store Type (dark) </option>
	<option value="/public/Samples/Reports/14.PerformanceSummary">Performance Summary</option>
</select>
<!--Provide container to render your visualization-->
<div id="container"></div>

CSS

.control {
display: block;
}
.control.input.text > .wrap {
	display:block;
}
.control > input{
    width: 360px;
}
.error, .logout{
    color: red;
}
.success{
    color: green;
}
.message{
    display: none;
}

JavaScript

// Visualize: login/logout with SSO sample

visualize({
    auth : { 
        tokenName: "myCustomTokenName",
        token : "ST-40-CZeUUnGPxEqgScNbxh9l-sso-cas.example.com"
    } 
}, function (v){
    
    alert("Authentification with SSO token complete");
    
    //enable report chooser
    $(':disabled').prop('disabled', false);
    
    function createReport(uri) {
        v("#container").report({
            resource: uri,
            error: function (err) {
                alert(err.message);
            }
        });
    };
    
    createReport($("#selected_resource").val());
    
    $("#selected_resource").change(function () {
        $("#container").html("");
        createReport($("#selected_resource").val());
    });
            
}, function(err){
    alert(err.message);
});