Приложения Google Apps общаются друг с другом - PullRequest
4 голосов
/ 18 ноября 2010

Я ищу способ для двух приложений Служб Google общаться друг с другом и обмениваться данными. У меня есть следующий сценарий:

  • Приложение A регистрирует пользователя, используя логин Google Apps
  • Приложение B регистрирует пользователя, используя логин Google Apps
  • тогда эти приложения должны общаться напрямую друг с другом (сервер-сервер), используя некоторые API

Вопрос: как эти приложения проверяют, что другое приложение вошло с тем же пользователем в Google? Я хотел бы представить что-то вроде: - Приложение A получает некоторый «токен» от Google и отправляет его в Приложение B - Приложение B подтверждает, что этот токен действителен для той же учетной записи Google, в которой он зарегистрирован с помощью

Есть ли способ сделать это через Google Federated Login? Я говорю о Гибридном протоколе здесь.

Ответы [ 2 ]

1 голос
/ 19 ноября 2010

user.user_id() всегда одинаково во всех приложениях для одного и того же пользователя. Таким образом, вы можете просто сравнить значения, возвращаемые user.user_id(). Это то, что вы ищете?

Примечание. Каждый пользователь имеет одинаковый идентификатор для всех приложений App Engine. Если ваше приложение использует публичный идентификатор пользователя данные, такие как включение его в URL параметр, вы должны использовать хэш алгоритм с добавленной "солью" скрыть удостоверение личности. Разоблачение необработанных идентификаторов может позволить кому-то связать пользователя активность в одном приложении с этим в другой, или получите электронную почту пользователя адрес, принуждая пользователя подписать в другое приложение.

Из документов

1 голос
/ 18 ноября 2010

Вот простой способ сделать это:

  1. Вы храните все, что связано с идентификатором пользователя Google в обоих приложениях.
  2. Вы передаете данные с помощью HTTP-запросов, содержащих идентификатор пользователя..
  3. Чтобы предотвратить утечку идентификаторов пользователей (запрещено API учетной записи) и проверить, действительно ли сообщения поступают из другого приложения, вы шифруете запросы с помощью симметричного шифра, такого как AES или Blowfish, или чего угодно.Оба приложения имеют один и тот же ключ.

Вы можете использовать криптографию с открытым ключом.С двумя приложениями, на мой взгляд, оно того не стоит.Если у вас появилось больше приложений, открытый ключ имеет смысл.

Хороший шрифт: шифрование не гарантирует целостность или происхождение без дополнительных мер.Вы должны принять меры предосторожности против воспроизведения, например, добавив отметку времени или порядковый номер.Вы должны принять меры против фальсификации, например, с помощью контрольной суммы.Убедитесь, что вы используете CBC и хорошие векторы инициализации.Держи ключ в секрете.

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