2016-10-14 8 views
1

Я разрабатываю расширение Chrome для Chrome, в котором мне нужно аутентифицировать пользователя на Twitch. По https://github.com/justintv/Twitch-API/blob/master/authentication.md, я зарегистрировал заявку, чтобы получить client_id и мое расширение хром открыть следующую ссылку:Получить обратно токен API Twitch с узлом js

https://api.twitch.tv/kraken/oauth2/authorize 
    ?response_type=token 
    &client_id=[your client ID] 
    &redirect_uri=[your registered redirect URI] 
    &scope=[space separated list of scopes] 

После принятия использовать мое приложение, пользователи перенаправляются на эту ссылку:

https://[your registered redirect URI]/#access_token=[an access token]&scope=[authorized scopes] 

[ ваш зарегистрированный URL-адрес перенаправления] - это ссылка на мой узел js-сервера. Мне нужно сохранить информацию access_token, но я не знаю, как получить доступ к элементам после «#». URL-адрес запроса или его параметры не содержат их.

ответ

0

Существует уже объяснение в документации чуть ниже линии, что вы ве размещены:

Обратите внимание, что маркер доступа находится в фрагменте URL, а не строка запроса , поэтому он не будет отображаются в HTTP-запросах на ваш сервер. URL фрагменты могут быть доступны из JavaScript с document.location.hash

Браузер/клиент удаляет элементы фрагмента перед отправкой запроса на сервер. Вам нужно загрузить страницу, иметь небольшой скрипт javascript и получить значения от клиента. Затем вы можете решить, как обрабатывать данные. Например, вы можете запустить запрос ajax на ваш сервер.

+0

Спасибо, я не понимал, что мне пришлось использовать его на стороне клиента, поэтому он не работал. – Nucktrooper

+0

@Nucktrooper Маленький скрипт на загрузке страницы, который получит значения с помощью 'document.location.hash 'и затем увольнение запроса на ваши услуги, чтобы вы могли хранить accessToken, будет выполнять эту работу за вас. Если бы это помогло вам, вы можете принять ответ :) –

 Смежные вопросы

  • Нет связанных вопросов^_^