Как безопасно установить связь между двумя приложениями, созданными на движке приложений Google? - PullRequest
2 голосов
/ 29 октября 2011

Мы столкнулись с двумя приложениями, созданными на движке приложений Google (Java), и нам нужно установить безопасную связь между ними.В основном мы имеем:

APP1: «Публичное» приложение, которое предоставляет данные в формате JSON на основе запросов в формате JSON.Данные являются частными, подчиняются только конкретному запросу.

APP2: «Внутреннее / не общедоступное» приложение, которое запрашивает данные к APP1 в формате JSON и нуждается в получении ответа в формате JSON.

Приведенный выше сценарий работает нормально, у нас есть два приложения, взаимодействующих друг с другом.Однако нам нужно, чтобы это сообщение было безопасным, и нам нужно идентифицировать (процесс авторизации и аутентификации), который действительно является APP2, который запрашивает данные для APP1.

Мы думали о многих подходах, но ненаткнулся на окончательное решение, я надеялся, что кто-то реализовал нечто подобное.

1) Мы думали об использовании oAuth, создании «APP провайдера» и создании APP2, подписывающегося на наше APP1 через этого провайдера.Причина, по которой мы взглянули на это решение, заключается в том, что, возможно, в будущем мы позволим стороннему приложению (APP3) получать данные из APP1 в режиме подписки.

С уважением.

Ответы [ 2 ]

7 голосов
/ 01 ноября 2011

Запросы от одного приложения к другому всегда будут иметь заголовок X-AppEngine-Inbound-AppId, установленный в AppID исходного приложения. Этот заголовок не может быть подделан другими приложениями или внешними службами - он очищается системой App Engine.

Однако, как примечание редакции, редко бывает полезно разделить ваше приложение на два отдельных приложения, подобных этому, если у вас действительно нет API, который мог бы одинаково хорошо использоваться внешними службами. Внутренняя организация обязанностей вашего приложения, как правило, гораздо более эффективна и не менее эффективна для разделения проблем.

2 голосов
/ 29 октября 2011

Эта функциональность теперь встроена в API App Engine. Приложения могут безопасно утверждать свою идентичность другим приложениям.

ссылка: http://code.google.com/appengine/docs/java/appidentity/overview.html#Asserting_Identity_to_Other_Systems

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...