Get current logged in user in clientlibs AEM 6.4 | Community
Skip to main content

3 replies

selvaganesh
Level 5
December 13, 2018

function getLoggedInUserID() {

        var currentUserId = "";

        var currentUserInfo;

        var CURRENT_USER_JSON_PATH = Granite.HTTP.externalize('/libs/granite/security/currentuser.json');

        var result = Granite.$.ajax({

            type: "GET",

            async: false,

            url: CURRENT_USER_JSON_PATH

        });

        if (result.status === 200) {

            currentUserInfo = JSON.parse(result.responseText);

            currentUserId = currentUserInfo.authorizableId;

        }

        return currentUserId;

    }

arunpatidar
Community Advisor
Community Advisor
December 13, 2018

Thanks for sharing.

Arun Patidar
Ravi_Pampana
Community Advisor
Community Advisor
December 13, 2018

In author mode, we can read the current user/details by below variable

CQ_User

CQ_User.data.userID

Hope this helps

arunpatidar
Community Advisor
Community Advisor
December 13, 2018

Hi Ravi,

I've just checked this in 6.3 and found CQ_User.data.userID works only in Classic UI whereas Granite.HTTP.externalize('/libs/granite/security/currentuser.json'); Ajax approach is compatible with both UI.

Arun Patidar
Ravi_Pampana
Community Advisor
Community Advisor
December 13, 2018

Hi Arun,

Thanks for the details. But when I tried in AEM 6.4 and AEM 6.4 SP2 I am able to see CQ_User variable, not sure whether it is added back

arunpatidar
Community Advisor
Community Advisor
December 13, 2018

Ahh ok, that means it is available in current version of AEM 6.4

Arun Patidar