You’re likely familiar with the UserInfo.getSessionId() method in Apex, commonly used for making Webservice calls. However, displaying it for external use can be challenging. When debugging, the log will typically output:
System.debug(UserInfo.getSessionId()); USER_DEBUG [1]|DEBUG|SESSION_ID_REMOVED System.debug('------' + UserInfo.getSessionId() + '======'); USER_DEBUG [1]|DEBUG|------SESSION_ID_REMOVED======
Even if you concatenate a string to it, you will consistently receive the
SESSION_ID_REMOVED.
However, upon researching online, I discovered a solution that proves effective:
System.debug(UserInfo.getOrganizationId().substring(0, 15) + ' ' + UserInfo.getSessionId().substring(15));
Note the presence of a space concatenating the organization ID and the substring of the session ID. It needs to be removed to ensure the session ID is valid.