Не могу авторизоваться в Reddit через oauth2

Я пытаюсь внедрить oauth2 с помощью Reddit и сталкиваюсь с проблемами на каждом этапе пути, я использовал библиотеку oauth для codeigniter, но это не сработало, поэтому я решил отказаться от нее и попробовать сделать это самостоятельно.

это запрос на авторизацию, если я не вошел в систему на Reddit, я получаю страницу входа, если я или после входа в систему я получаю сообщение об ошибке.

https://ssl.reddit.com/api/v1/authorize?response_type=code&client_id=myclientid&scope=identity&redirect_uri=http%3A%2F%2Fmydomain.com%2Fregister

и он перенаправляет меня обратно сюда:

mydomain.com/register?state=None&error=invalid_request

я не могу найти какую-либо полезную документацию по реализации Reddit oauth.


person user1448020    schedule 06.02.2014    source источник


Ответы (1)


Немного о OAuth2 Reddit на вики github для Reddit источник. Похоже, вам не хватает параметра state в исходном запросе.

состояние — вы можете передать значение на страницу авторизации, которое будет включено в перенаправление обратно к вам, если пользователь предоставит доступ. Это полезно для предотвращения подделки межсайтовых запросов (CSRF). Выбрав (и запомнив) достаточно случайное значение, вы можете убедиться, что запрос, который возвращается на ваш сайт, был инициирован путем посещения сгенерированного вами URL-адреса авторизации.

(Цитируемая вики-информация неверна, так как на самом деле требуется state; я скоро обновлю вики)

person kemitche    schedule 06.02.2014
comment
Спасибо, кемитче! Кажется, сработало отлично, я читал в другом месте на stackoverflow. Реализация oAuth Reddit немного уникальна, есть ли какие-либо другие причуды, с которыми я могу столкнуться? После успешной авторизации в Reddit я пытаюсь вызвать oauth.reddit.com/api/v1/me, с установленным кодом авторизации, после попытки выполнить это через POST и GET я получаю эту ошибку: 403 Запрещенный запрос запрещен административными правилами - person user1448020; 07.02.2014
comment
Проблема устранена, я неправильно отправлял заголовок Authorization:. Всем, кто сталкивается с проблемами, я настоятельно рекомендую прочитать это: reddit.com /r/redditdev/comments/197x36/ - person user1448020; 07.02.2014