How to get the token for logged-in user in portal ?

09-16-2019 07:40 PM
New Contributor III

Hi guys,

this might seem trivial but I can't get my head around why IdentityManager's credentials for the logged in user have the token=undefined, though I can clearly see the token in the esri_auth cookie and esri js api is using this token to get access to the portal items... ?

 const portal: esri.Portal = new this.esriModules.Portal({ authMode: 'immediate' });
portal.load().then(async () => {
const {username: userId, fullName, email, thumbnailUrl} = portal.user;
const {token, userId, server} = await this.identityManager.getCredential(portal.url, {
oAuthPopupConfirmation: false

// everything is populated except the token
// tried all these... no luck
const val1 = await this.identityManager.checkSignInStatus(portal.url);
const val2 = await this.identityManager.checkSignInStatus(portal.url + '/sharing');

const cred1 = await this.identityManager.findCredential(portal.url)
const cred2 = await this.identityManager.findCredential(portal.url + '/sharing')
const cred3 = await this.identityManager.findCredential(portal.url + '/sharing/rest')
const cred4 = await this.identityManager.findCredential(portal.url, userId)
const cred5 = await this.identityManager.findCredential(portal.url + '/sharing', userId)
const cred6 = await this.identityManager.findCredential(portal.url + '/sharing/rest', userId)

I'm sure I'm missing something basic....

Thank you!

Tags (1)
0 Kudos
1 Reply
New Contributor III

hi Michal,

It's a bit late for my reply here but in case you are still trying to do this:

 portal.load().then(async () => { console.log(portal.credential.token); });




0 Kudos