@therhino

Как из адреса забрать access_token?

Использую авторизацию вконтакте посылая пользователя по такому адресу
oauth.vk.com/authorize?client_id=xxxxx&redirect_uri=[REDIRECT_URI]&display=page&v=5.28&response_type=token, где REDIRECT_URI = localhost:3000/api/sessions/signin

После авторизации, контакт редиректит на такой адрес: localhost:3000/api/sessions/signin#access_token=xxxxxxx&expires_in=86400&user_id=xxxxxxx
Как мне отсюда в контроллере забрать access_token?
  • Вопрос задан
  • 2717 просмотров
Решения вопроса 1
iximiuz
@iximiuz
Вы должны изменить параметр response_type=token на response_type=code в своем запросе. После этого на указанный redirect_uri придет запрос с параметром code. Используя этот code можно получить access_token, сделав запрос с вашего сервера ("из контроллера"), на сервер ВК. Подробнее тут.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
viktorvsk
@viktorvsk
Что вы там делаете?
Сначала бессмысленный вопрос по фейсбуку, теперь не лучше по вконтакте.
Чем не подходит omniauth?
Ответ написан
iswitch
@iswitch
Geek, Programmer, ????
Вместо "Standalone/Mobile-приложения", использовать "Сторонние сайты и виджеты".
access_token из такого URL может получить только приложение, которое может создать окно браузера, т.е. мобильное или десктопное.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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