2013-02-10 2 views
2

Я настроил небольшое веб-приложение для приложений, которое предоставляет API для определенной задачи. Моя цель - подключиться к этому, используя статический веб-интерфейс и несколько собственных клиентских приложений. Для аутентификации я использую встроенный поставщик OAuth.Поставщик OAuth App Engine CORS

Потребительские жетоны для клиентов были созданы с использованием Google APIs Console.

Скрипт ruby, используемый для тестирования API, успешно аутентифицирует и может запрашивать данные из OAuth защищенных URL-адресов API.

Однако пытается получить доступ к /_ah/OAuthGetRequestToken, используя JavaScript от другого хосте приведет к исключению безопасности CORS:

Происхождение http://exampledomain.nl не допускается Access-Control-Allow-Origin.

Домен, на котором размещен html/javascript, был указан в поле пользователя JavaScript origins в Консоли API. Я проверил, что он соответствует домену, о котором неправильно говорит жалоба CORS.

  • Является ли App Engine OAuth игнорирующим JavaScript origins или я что-то упустил?
  • Или можно аутентифицировать (статическое) приложение javascript на стороне клиента для приложения OAuth другим способом?

ответ

1

Ваш случай использования кажется подходящим для Google Cloud Endpoints. Клиентские библиотеки Google API, которые работают непосредственно с Endpoints, будут обрабатывать детали чеканить маркеры для ваших приложений. Конечные точки также поддерживают CORS.

+0

Я вижу несколько проблем с этим: 1. Я просил доступ, но ничего не слышал в течение нескольких недель. 2. Приложение в настоящее время написано на Go, которое, я считаю, еще не поддерживается в конечных точках? Я бы рассмотрел переписывание на python, если это единственный способ использовать oauth2. –

+0

Конечные точки TT находятся в открытом доступе. Присоединитесь к форуму, связанному на этой странице, чтобы получить доступ к документации, нет других требований. Вы правы, что Go в настоящее время не поддерживается. Конечные точки в настоящее время подходят, если вы не используете Java или Python. –

+0

Ах, я смутно помню, используя форму документов google для запроса доступа, но, похоже, больше не может этого найти. Спасибо за разъяснение по открытой подписке. Я, вероятно, начну развертывать версию python, чтобы экспериментировать с oauth2. –

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