Когда пользователь успешно аутентифицирован, я хочу перенаправить его на корневую страницу приложения. Каким будет redirectUrl для authContext.acquireTokenAsync?

      let authContext: AuthenticationContext = this.msAdal.createAuthenticationContext('https://login.windows.net/common');
  authContext.acquireTokenAsync('https://graph.windows.net', this.clientId, 'http://localhost:8100/')
    .then((authResponse: AuthenticationResult) => {
      alert('Token is' + authResponse.accessToken);
      alert('Token will expire on' + authResponse.expiresOn);
      this.statusBar.styleDefault();
      this.splashScreen.hide();
      this.nav.setRoot(HomePage);
    })
    .catch((e: any) => {
      alert('Authentication failed'+ e);
      this.nav.setRoot(HomePage);
    });
0
Noman Fareed 5 Дек 2018 в 07:51

1 ответ

Лучший ответ

Проблема заключалась в том, что приложение было зарегистрировано как WebApp в активном каталоге Azure. Я зарегистрировал новое приложение как собственное приложение в активном каталоге. с URL-адресом перенаправления "urn: ietf: wg: oauth: 2.0: oob", и теперь он отлично работает. Вот мой код

    let authContext: AuthenticationContext = this.msAdal.createAuthenticationContext('https://login.windows.net/common');
authContext.acquireTokenAsync('https://graph.windows.net','<Your Native App client ID>' , 'urn:ietf:wg:oauth:2.0:oob', '', null)
  .then((authResponse: AuthenticationResult) => {
    this.presentToast('Token is' + authResponse.accessToken + ' and expires on ' + authResponse.expiresOn);
    this.statusBar.styleDefault();
    this.splashScreen.hide();
    this.nav.setRoot(HomePage);
  })
  .catch((e: any) => {
    this.presentToast('Authentication failed ' + e)
  })
1
Noman Fareed 5 Дек 2018 в 12:49