ошибка перенаправления URL-адреса при входе в ms в ionic 5

#ionic-framework #microsoft-graph-api #single-sign-on #azure-application-insights #ionic5

Вопрос:

Я пытаюсь реализовать вход в систему Microsoft с помощью ionic5.

Он переходит на страницу входа в систему, но после входа в систему появляется следующая ошибка.

Пожалуйста, помогите мне, что делать в этом случае.

введите описание изображения здесь

 login(){
const url = "https://login.microsoftonline.com/"   this.tenant_id  
  "/oauth2/authorize?response_type=id_tokenamp;client_id="   this.client_id   "amp;state=SomeStateamp;nonce=SomeNonce";

//here we create iab browser for login page.
const browser = this.iab.create(url, '_blank', {
  location: 'no',
  zoom: 'no',
  hardwareback: 'no',
  clearcache: 'yes'
});

browser.on("loadstart").subscribe((event) => {
  console.log(event);
  //this.splashScreen.show();
});

browser.on("loadstop").subscribe((event) => {
  console.log(event);

  this.splashScreen.hide();
  browser.show();
});

browser.on("loaderror").subscribe((event) => {
  console.log(event);
  /*
  var result = event.url.split("code=");
  console.log("Authentication result", result);

  window["AuthResult"] = result[1].split('amp;')[0];

  localStorage.setItem('AuthCode', window["AuthResult"]);
  browser.close();
  */
});
 

}

После изменения кода вызывается следующая ошибка.

введите описание изображения здесь

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

1. обнаружение изменения URL-адреса: browser.on('loadstart').subscribe((res) => { console.log('loadStory', res); if (res.url == 'xyz.com') { browser.close(); } }, err => { console.error(err); });

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

3. вы используете конденсатор? если да, пожалуйста, проверьте пемиссоны с открытым текстом,

Ответ №1:

Распечатайте URL-адрес в консоли, скопируйте и вставьте его в chrome. Если chrome сможет открыть URL-адрес. Проблема в том, что ваше приложение не может совершать http-вызовы. Шаг 1. попробуйте открыть URL-адрес в chrome. Если она откроется там. Приложение, которое должно быть. Шаг 2: может быть вместо загрузки вашего URL-адреса . Загрузить говорят https://www.google.com/ в приложении . Если это также не удастся, ваше приложение sure не сможет загрузить URL-адрес. Шаг 3. Разрешите приложению взаимодействовать с внешними http-вызовами. И ваш URL-адрес для входа начнет работать. Как я уже сказал, сначала сделайте Google.com работайте над приложением.

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

1. sj.qq.com/myapp/…

2. Когда вход в систему будет завершен, будет возвращен указанный выше URL-адрес. Вы возвращаете URL-адрес, потому что вы не установили URL-адрес перенаправления? Я не знаю, является ли idtoken в URL-адресе обычным токеном, и я не знаю, где хранить информацию, если вход в систему будет успешным.

3. В любом случае, я думаю, что адрес перенаправления должен быть указан.

4. храните в локальном хранилище и используйте его, когда захотите