Задать вопрос
@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 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 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 может получить только приложение, которое может создать окно браузера, т.е. мобильное или десктопное.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы