Ionic: http://localhost/callback?code= не удалось загрузить, поскольку ERR_connection_refused

Я пытаюсь реализовать вход с функциональностью linkedin в ionic с использованием метода rest-api.

linkedinLogin() {
    this.platform.ready().then(() => {
      this.linkedinPage().then(success => {
        alert(success.access_token);
      },(error) => {
        alert(error);
      });
    });
  }

  linkedinPage(): Promise<any> {
    var self = this;
    return new Promise((resolve, reject) => {
      var browserRef = window.cordova.InAppBrowser.open('https://www.linkedin.com/uas/oauth2/authorization?client_id=' + this.clientId + '&redirect_uri=' + this.redirect_uri + '&scope=' + this.appScope + '&response_type=code&state=' + this.state, '_blank', 'location=no,clearsessioncache=yes,clearcache=yes');
      browserRef.addEventListener("loadstart", (event) => {
        if((event.url).indexOf(this.redirect_uri) === 0) {
          try {
            var requestToken = (event.url).split("code=")[1].split("&")[0];
            let headers = new Headers();
            headers.append('Content-Type', 'application/x-www-form-urlencoded');
            this.http.post("https://www.linkedin.com/oauth/v2/accessToken?client_id='xxxx'&client_secret='xxxxxx'&redirect_uri=http://localhost/callback&grant_type=authorization_code&code=" + requestToken,
            {headers: headers})
            .subscribe(function(data){
              resolve(data);
              alert(data);
            })

          } catch(e) {
              setTimeout(function() {
                browserRef.close();
              }, 10);
            }
        }
        else {
          browserRef.addEventListener("exit", function(event) {
            reject("The linkedin sign in flow was canceled");
        });
        }
      });
  });
  }

Я могу перенаправить на страницу linkedin и ввести свои учетные данные, позволяющие LinkedIn получить доступ к разрешению. После того, как я получаю сообщение об ошибке в браузере как сообщение об ошибке

Может ли кто-нибудь сказать мне, почему я столкнулся с этой ошибкой и как я могу ее решить?


person Community    schedule 18.08.2018    source источник


Ответы (1)


Это связано с тем, что linkedin никогда не позволит вам получить доступ к их API с локального хоста из-за CROS. Вы пытались запустить свое приложение на реальном устройстве? Если не попробовать это на реальном устройстве и просмотреть консоль, вы можете найти точную ошибку оттуда.

person ZearaeZ    schedule 20.08.2018
comment
да, я выполнил это в эмуляторе, и как я могу увидеть ошибку для приложений, работающих в эмуляторе. - person ; 23.08.2018
comment
Вы можете увидеть консоль эмулятора - person ZearaeZ; 23.08.2018