Открытие электронной почты Outlook Web App по ссылке вызывает ошибку доступа к фрейму с блокировкой из разных источников

#angularjs #outlook-web-app

#angularjs #outlook-web-app

Вопрос:

Я пытаюсь получить доступ к электронной почте Outlook по ссылке (т. е. https://outlook.office365.com/owa/#viewmodel=ReadMessageItemamp;ItemID=xxxxxxx ) из веб-приложения, которое я создаю. Нажатие на ссылку должно открыть новую вкладку в браузере, запустить Outlook Web App и открыть электронное письмо.

Вместо этого я получаю эту ошибку: заблокирован фрейм с источником «https://outlook.office365.com » из-за доступа к фрейму с перекрестным источником

Я использую директиву AngularJS ng-href для создания ссылки с target=_blank для принудительного открытия на новой вкладке.

Электронное письмо открывается правильно, без ошибок, когда оно открывается на той же вкладке браузера (без target=_blank)

Я ценю любые предлагаемые решения, которые помогут мне решить эту проблему.

Комментарии:

1. Это связано с тем, что прямая ссылка на электронное письмо в OWA сначала не прошла на экран входа в OWA, чтобы подтвердить, что вы не пытаетесь делать именно то, что пытаетесь сделать… Он ожидает, что вы сначала перейдете на страницу входа в систему, а затем щелкните электронное письмо… Не пытайтесь открыть электронное письмо и обойти метод входа… Данные сеанса не будут сгенерированы.

2. Большое спасибо за ответ, Крис. Я получаю эту ошибку даже после аутентификации в ADFS / Office 365. Я должен упомянуть, что электронное письмо откроется по прямой ссылке на пустой вкладке браузера, но не по ссылке из моего веб-приложения.

3. Не могли бы вы написать небольшой скрипт, который принимает URL-адрес электронной почты в качестве переменной. Вы открываете свой скрипт на новой вкладке, а затем (используя переданный URL-адрес в качестве переменной) перенаправляете на URL-адрес?

4. PHP (myStub.php ): <?php header('Location:'.$_GET['URL']); exit(); ?> — ваше приложение открывается myStub.php?URL=your-OWA-address в _blank

Ответ №1:

Я решил проблему, изменив часть строки запроса в URL.

Из: https://outlook.office365.com/owa/#viewmodel=ReadMessageItemamp;ItemID=xxxxxxx

Кому: https://outlook.office365.com/owa/#ItemID=xxxxxxx

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