daniyalov
@daniyalov

Как вставить в HTML полученную строку из адресной строки?

В адресной строке получаю token после авторизации приложения, как код-token добавить на страницу HTML с которой делал запрос? Я начинающий, и разобраться с редиректом не получилось. Получаю token только с несуществующим URL (localhost).

запрашиваю token:
https://instagram.com/oauth/authorize/?client_id=64c696ae6b32405a8efcd83889c571be&redirect_uri=http://localhost&response_type=token


получаю строку:
localhost/#access_token=38780608.64c696a.48dffb12745e4103994e71fd895c355e
  • Вопрос задан
  • 2697 просмотров
Решения вопроса 1
AlekseyNemiro
@AlekseyNemiro
full-stack developer
Выделить нужную часть адреса после решетки (#) можно примерно так:
var hash = window.location.hash;

if (hash.length > 1) 
{
    alert('Маркер доступа: ' + hash.substring(hash.indexOf('=') + 1));
}

Пример

Этот код должен быть на странице, указанной в redirect_uri, т.е. в данном случае, на странице:
http://localhost

Как видно, маркер доступа (access token) вырезается из window.location.hash. Его можно передать, например, в переменную:
var access_token = hash.substring(hash.indexOf('=') + 1);


Если планируется использовать другой адрес, то необходимо указать его в настройках конкретного приложения.

К сожалению, Instagram, на данный момент, позволяет указывать только один адрес обратного вызова для одного приложения.

Адрес обратного вызова (redirect_uri) в запросе на авторизацию должен полностью совпадать с тем, который указан в настройках приложения (исключая параметры запроса).

----------------------------------------------------------------

?client_id=64c696ae6b32405a8efcd83889c571be&redirect_uri=http://localhost&response_type=token

Лучше кодировать параметры URL, чтобы не было проблем.

PS: Если маркер доступа (access token) в тексте вопроса настоящий, то это небезопасно. Лучше удалить и получить новый.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы