Adal multi tenant mode b2b uset - PullRequest
       7

Adal multi tenant mode b2b uset

0 голосов
/ 22 октября 2019

У нас есть сценарий, когда пользователь переключается между всеми своими арендаторами.

Пользователь: user1@home.com Пользователь приглашен к другому арендатору "external.com" (другому арендатору)Таким образом, теперь пользователь является частью 2 арендаторов: home.com и external.com

authContext = new AuthenticationContext({
  clientId,
  tenant: 'home.com'
  instance,
  redirectUri,
  cacheLocation: 'localStorage',
  navigateToLoginRequestUrl: true,
  loadFrameTimeout: 6000,
  loginResource: 'abc.com',
  callback,
})

Итак, если пользователь хочет войти в систему арендатора, где он/ она гость, ей нужно передать клиента в AuthenticationContext как external.com

Пользователь вошел в приложение:

authContext = new AuthenticationContext({
    clientId,
    tenant: 'external.com', //changed here
    instance,
    redirectUri,
    cacheLocation: 'localStorage',
    navigateToLoginRequestUrl: true,
    loadFrameTimeout: 6000,
    loginResource: 'abc.com',
    callback,
})

Но Adal поддерживает кэш вlocalStorage и, следовательно, возвращаемый токен предназначен для home.com . Один из способов, который я смог найти, - это очистить кеш перед тем, как использовать переключатель

authContext.clearCache()

Хотел бы узнать, правильный ли это способ в этой ситуации, или существует какой-то лучший способ справиться с этим?

...