Возникла проблема при перенаправлении входа - PullRequest
2 голосов
/ 02 мая 2019

У меня есть угловое приложение, которое использует пакет @ azure / msal-angular для аутентификации. Я столкнулся с проблемой при создании ССО с другого сайта на мой сайт. Например: Если я захожу на сайт обучения Microsoft, а затем пытаюсь зайти на свой сайт, он показывает мне список учетных записей, которые я могу использовать для продолжения. Есть ли какой-нибудь способ, которым я могу сделать так, чтобы он продолжал напрямую с учетной записью в текущем сеансе.

Я попытался вручную обновить URL-адрес и установить переменную приглашения, так как никто не работал. Но я столкнулся с проблемой, чтобы установить его автоматически через код. Я пытался передать подсказку в дополнительных параметрах запроса, но он говорит о дублировании записи.

 constructor(public router: Router,private
    appservice:appService,private msl:MsalService) {}   
    canActivate():boolean {
        //debugger;
          if(!this.appservice.isAuthenticated()){
          this.msl.loginRedirect();
          return true;
        }
        return true;   }

1 Ответ

0 голосов
/ 10 мая 2019

acquireTokenSilent использует скрытый iframe с prompt=none, что означает, что пользователю не будет предложено ввести учетные данные.Этот API опирается на файл cookie сеанса, установленный между браузером и AAD, для получения нового access_token.Если ваш сеанс истек, этот вызов API завершится неудачно, и вам придется выполнить интерактивное обновление токена, позвонив по номеру acquireTokenPopup или acquireTokenRedirect, где вас попросят снова ввести свои учетные данные.

Возможно,возможно, ваш браузер удаляет куки (x-ms-cpim-transdoes).

Мы также видели это в браузере Safari для пользователей Mac, и проблема была связана с настройкой Safari Preferences -> Privacy -> Prevent cross-site tracking

.выпуск.

https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/349

...