Я создаю приложение Angular, которое взаимодействует с API MS Graph, для этого я использовал MSAL. При использовании «ng serve» внутри Angular CLI все работает нормально.
Позже я обернул это приложение angular с помощью электрона, чтобы развернуть его как настольное приложение. При запуске электрона вход через Microsoft работает нормально, но после входа меня перенаправляют на ложный локальный адрес. Меня перенаправляют на http://localhost:8080/, но мой URI перенаправления — http://localhost:8080/#/home.
При перенаправлении на ложный адрес в Dev-Console/Network появляется ошибка «Отказано в подключении», а экран в электронном виде остается пустым.
Это проблема с Azure AD? Я не могу удалить и перерегистрировать свое приложение в Azure AD (как показано здесь Azure AD перенаправляется в неправильное расположение (локальный хост) после аутентификации), потому что я нахожусь в корпоративной среде.
Кто-нибудь может относиться к этому?
да они оба localhost:8080/#/home
Я нашел решение своей проблемы. Я изменил перенаправления на localhost:8080/ без хэша и всего, что за ним следует. Проблема заключалась в том, что сервер перенаправляет только на часть без всего после хэша. Это из-за HashLocationStrategy. Поэтому, когда я настраиваю Redirect как localhost:8080/#/, он фактически перенаправляет на localhost:8080/
Вот что сработало для меня:
Используйте msal://redirect
в качестве URL-адреса перенаправления в приложении AAD и в качестве переменной redirectUri в приложении.
URL-адрес перенаправления, заданный вами в коде, совпадает с URL-адресом перенаправления в приложении AAD?