Как обновить виджет после входа в систему без обновления страницы? - PullRequest
0 голосов
/ 06 марта 2020

Итак, есть этот веб-сайт https://www.mixtiles.com/, и там вы можете выбрать фотографии из Instagram из примера.

Что меня интересует, так это процесс предоставления доступа к фотографиям Instagram без обновления страницы , Например, когда я нажимаю кнопку «плюс» на этой странице: https://www.mixtiles.com/review, а затем выбираю опцию Instagram и нажимаю кнопку «Подключить Instagram», я перенаправляюсь в Instagram на другой вкладке.

enter image description here

В этой новой вкладке я вхожу в Instagram и предоставляю доступ к приложению. После этого instagram перенаправляет меня на redirect_uri, а затем вкладка закрывается, и я возвращаюсь к предыдущей вкладке, которая была этим приложением, и вместо кнопки подключения instagram, теперь она показывает мне фотографии из моей учетной записи instagram.

Я проверил с помощью fiddler, после инстаграма на перенаправленной странице есть вызов window.close() и HTML, который говорит, что «Аутентификация прошла успешно» в случае сбоя JS.

Это URL-адрес, на который перенаправляется приложение при нажатии кнопки «Подключить Instagram»:

https://api.instagram.com/oauth/authorize?app_id=734679543697014&redirect_uri=https%3A%2F%2Fwww.filestackapi.com%2Fapi%2Fclient%2Finstagram%2FauthCallback%2Fopen&response_type=code&scope=user_profile%2Cuser_media&state=S8ti9gJprnSU3Fr5eSyYfROi_A6dBWSFARjI2Tok8BziN7vyJZ_RJU3q1U6lv5ltFAiUujmKNjES7dyI6oBoog6oz20b0BSJGNUwuCrEvukx9YA_d3gdnTuFkO9VEgghfdOd8LKTFEQYikLKZlwYybz2tuHWjlJwAL74coo8HfYXuQ-fKg46PRs0XTu40PAaNLCBB_fuvEpCNn00x0rSznrQZhfbvCZpqjM5PcGBq3gvvqWP4A%3D%3D

Однако я наблюдал вкладку «Сеть» в Chrome Инструменты разработчика, и не было ни одного вызова для проверки, если Я предоставил доступ.

Я подумал, что, может быть, приложение периодически вызывает backend, чтобы узнать, предоставил ли я доступ к своему профилю instagram (другими словами, получал ли backend полученный access_token), но я не вижу этого на вкладке Network. Кроме того, я подумал, что, возможно, он использует веб-сокеты, так что бэкэнд уведомляет интерфейс о том, что доступ предоставлен, но также нет сообщения о веб-сокете, которое указывает, что ...

Как мне добиться такого же поведения. Я знаю, что этот виджет предоставляется Filestack https://github.com/filestack/filestack-js, но я не могу понять, как серверная часть уведомляет этот виджет о том, что ему предоставлен доступ, чтобы он мог начать загрузку изображений ...

...