В настоящее время я пытаюсь внедрить свой веб-сайт в команды Microsoft. Для этого я сделал собственное приложение с App Studio. В этом приложении у меня есть вкладка, чтобы перейти на мой сайт. На этом веб-сайте есть кнопка, которая выполняет код, в котором он пытается выполнить authContext.login (), в результате чего сайт перенаправляется на вход в Microsoft и обратно на перенаправление.
В веб-браузерах (Firefox, Chrome, Edge) все отлично работает. Но когда я пытаюсь использовать authContext.login () в клиенте Teams Desktop, я получаю эту ошибку в консоли DevTools (из-за соображений безопасности я изменил некоторые шестнадцатеричные коды для этого поста):
Отказался отображать https://login.microsoftonline.com/common/oauth2/authorize?response_type=id_token&client_id=1904f197-dae8-4740-94f2-e12dee41b451&redirect_uri=https%3A%2F%2Fsomeadress.com%2Freally%2F&state=19484c2c-2aff-463a-9cba-2894af66c09d&client-request-id=91308f53-96a1-4f2b-8ee4-774b2f168c6b&x-client-SKU=Js&x-client-Ver=1.0.15&nonce=5cabfef7-36aa-470a-aaa3-754448369ab4&sso_reload=true 'во фрейме, потому что он установил' X-Frame-Options 'в' deny '.
Веб-сайт отображается до кнопки с authContext .login () выполняется, затем исчезает и выдается ошибка.
Это фрагмент кода моей кнопки:
<!--- Import packages for authentication information in Teams/Azure --->
<script src="https://secure.aadcdn.microsoftonline-p.com/lib/1.0.15/js/adal.min.js" crossorigin="anonymous"></script>
...
function loginO365() {
let config = {
clientId: "190af997-d6f8-4730-9462-e13dee41d451",
redirectUri: "#application.gc_app_rootURL#", // same URL as redirect in error and Azure app
cacheLocation: "localStorage",
navigateToLoginRequestUrl: true,
};
let authContext = new AuthenticationContext(config);
let isCallback = authContext.isCallback(window.location.hash);
authContext.handleWindowCallback();
authContext.login(); // causes error
}
Мои вопросы:
- Что вызывает это?
- Почему это не так? происходит в веб-браузерах?
- Как это исправить?