Security

Get current username from SplunkJS

lassel
Communicator

In a HTML dashboard, how can I determine the username of the current user?

I tried this, but it seems like there should be a simpler synchronous way to get that information:

require(["splunkjs/mvc"],
  function(mvc) {
        var service = mvc.createService({ owner: "nobody" });
        var username = "undefined";
        service.currentUser(function(err, user) {
             console.log("User name inside: ", user.name);
             username = user.properties().name;
        });
        console.log("User name after : ", username);
  });
1 Solution

Flynt
Splunk Employee
Splunk Employee

You can do the following -

  require([ 'underscore', 'jquery', 'splunkjs/mvc', ],
      function(_, $, mvc ) {        
         var tokens = mvc.Components.getInstance("default");       
         var current=Splunk.util.getConfigValue("USERNAME");        
         tokens.set("currentuser", current);
      });

Notice I set the token in the dashboard to current. You can log it here or do with it what you wish.

View solution in original post

clement
Explorer

I have converted my dashboard to HTML and I have removed the Launcher navigation bar on the top of my dashboard but would like to add hyperlink to allow user to change their password, could you advise how to utilize your codes to replace "UserID" with login username in html tag follows?

< a href="/manager/apps/authentication/changepassword/"UserID"?action=edit">Change Password

0 Karma

Flynt
Splunk Employee
Splunk Employee

Put your a where you want it to be, add an ID and don't add href. In my example I call it changepassword.

<a id="changepassword">Change Password</a>

Then at the bottom of your HTML (Right after DASHBOARD READY) add this -

    var current=Splunk.util.getConfigValue("USERNAME");     
    var sethref='{{SPLUNKWEB_URL_PREFIX}}/manager/YOURAPPNAME/authentication/changepassword/'+current+'?action=edit' 
   $("#changepassword").attr('href',sethref);

Make sure you change the YOURAPPNAME value in the sethref variable to be the app that the view is in.

This should create a link to the change password screen.

0 Karma

clement
Explorer

it works perfectly for me, thank you! Flynt.

0 Karma

Flynt
Splunk Employee
Splunk Employee

You can do the following -

  require([ 'underscore', 'jquery', 'splunkjs/mvc', ],
      function(_, $, mvc ) {        
         var tokens = mvc.Components.getInstance("default");       
         var current=Splunk.util.getConfigValue("USERNAME");        
         tokens.set("currentuser", current);
      });

Notice I set the token in the dashboard to current. You can log it here or do with it what you wish.

Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Why Splunk Customers Should Attend Cisco Live 2026 Las Vegas

Why Splunk Customers Should Attend Cisco Live 2026 Las Vegas     Cisco Live 2026 is almost here, and this ...

What Is the Name of the USB Key Inserted by Bob Smith? (BOTS Hint, Not the Answer)

Hello Splunkers,   So you searched, “what is the name of the usb key inserted by bob smith?”  Not gonna lie… ...

Automating Threat Operations and Threat Hunting with Recorded Future

    Automating Threat Operations and Threat Hunting with Recorded Future June 29, 2026 | Register   Is your ...