Использование OAuth stackexchange для входа в мобильное приложение
Я делаю гибридное приложение на Android на основе API StackExchange. Мне нужно предоставить функцию входа в него. Я выполняю шаги, описанные в их JS SDK http://api.stackexchange.com/docs/js-lib . я могу получить SE.init выполняется успешно, однако SE.аутентификация дает ошибку типа "неожиданный домен на URL прокси". Теперь url-адрес моего приложения имеет localhost: 8080 в своем домене, который я указал в свойстве channelUrl SE.в этом. Даже если я запускаю его на android-устройстве, его домен похож на file:///data/data... что-то вроде того. Так как же мне обойти это?
В этом процессе, когда мой браузер запускается после нажатия на вход в мое приложение, я вижу различные варианты входа в систему stackexchange, такие как вход через google, facebook и т. д. Но проблема, которую я описал выше, происходит после того, как я нажимаю, скажем, google, чтобы войти в систему. поэтому он пытается перенаправить, и он обнаруживает, что я указал домен localhost в channelUrl в SE.в этом
Ответы - Использование OAuth stackexchange для входа в мобильное приложение / Using stackexchange's OAuth for logging into mobile app

17.08.2013 10:09:55
У меня была аналогичная проблема, поэтому я поделюсь своими выводами с надеждой, что это будет полезно вам или кому-то еще, занимающемуся той же проблемой.
Во-первых, зарегистрированный домен для вашего приложения должен соответствовать домену, указанному в channelUrl. Здесь важно отметить, что следующие Домены не считаются одинаковыми:
`example.domain.com` and `example.domain.com:8080`.
Многие браузеры будут рассматривать это как междоменный пост, и, следовательно, вы можете в конечном итоге получить следующие ошибки:
Не могу разместить сообщение example.domain.com. Получатель примере происхождения.домен.ком:8080
Это делается для предотвращения атак межсайтовых сценариев.
Что сработало для меня? : Я понял,что было бы очень больно иметь дело с особенностями материала localhost. Поэтому я зарегистрировал свое приложение на облачном хостинге, таком как Heroku ( вы можете выбрать любой из доступных, я выбрал Heroku для быстрой и беспроблемной регистрации для начинающих и хорошего набора инструментов.). Сообщение о том, что мой домен теперь myapp.herokuapp.com . один раз я указываю это в домене OAuth для приложения StackExchange и изменяю параметр channelUrl, чтобы он содержал myapp.heroku.com/blank.html , все это начало работать, и теперь я могу извлекать данные с помощью API StackExchange.
Я публикую ссылку на мое обсуждение с людьми поддержки StackExchange, которые помогли мне прийти к этому решению.
Надеюсь, это укажет вам на решение.
