Отладка oauth входа в Facebook с помощью браузера в приложении Facebook - PullRequest
0 голосов
/ 10 апреля 2019

Я настраиваю вход в Facebook для своего веб-приложения Angular6 с помощью метода oauth (без всплывающего окна).Логин не работает при доступе к приложению через встроенный браузер Facebook, и я не могу найти способ его отладки.

Когда я нажимаю ссылку на свое приложение через встроенный браузер FacebookЯ могу зайти на свой сайт и посмотреть его содержимое.Но когда я нажимаю, чтобы войти через Facebook, ничего не происходит.Процесс входа в систему работает нормально при доступе к нему непосредственно из моего приложения или из браузера на рабочем столе - только не из браузера Facebook.Кажется, я не могу найти правильный способ отладки проблемы, видел этот вопрос - но не повезло ни с одним из ответов на него.Ему 4 года - надеетесь, что у кого-то может быть решение сейчас?

Сначала я проверяю статус входа пользователя:

getLoginStatus() {
    return new Promise(resolve => {
      window.FB.getLoginStatus((response) => {
        if (response.status === 'connected') {
          resolve(response.authResponse.accessToken);
        } else {
          resolve(false);
        }
      });
    });
  }

Затем, если он подключен, я отправляю запрос на данные пользователя:

getUserInfoWithAccessToken(access_token){
    return new Promise((resolve, reject) => { 
      return this.http.get(`https://graph.facebook.com/me?fields=first_name,last_name,email&access_token=${access_token}`,
      {headers: new HttpHeaders({'Content-type': 'application/json'})})
      .subscribe(
        (response: any) => {
          let data = {
            'first_name': (response.first_name) ? response.first_name : null,
            'last_name': (response.last_name) ? response.last_name : null,
            'email': (response.email) ? response.email : null
          }
          resolve(data);
        },
        (error: any) => {
          reject(error);
        })

    });
  }

и, если он не подключен - я перенаправляю на:

https://www.facebook.com/v3.2/dialog/oauth?client_id=000000000000000&redirect_uri=mysite.com/1234?param=somevalue&response_type=token&state=someState

Веб-сайт должен перенаправить меня на Facebook и запросить соединение, а затем перенаправить обратно в мое приложение.На самом деле - когда я нажимаю, ничего не происходит.

...