Контекстные гаджеты Gmail и этапы аутентификации OpenID

Я пытаюсь понять правильную последовательность шагов, выполняемых Gmail при загрузке и аутентификации контекстного гаджета. Одна из причин (есть и другие) заключается в том, что я хочу знать, могу ли я сделать манифест гаджета за аутентификацией Open ID, чтобы только аутентифицированные пользователи могли загрузить гаджет в Gmail.

Я нигде не видел документации по этому поводу. Вот как я думаю, что это работает... (где mysite.com является проверяющей стороной openID).

Пользователь: щелкает письмо в папке "Входящие" Gmail Gmail: загрузить сообщение. Получите манифест гаджета с mysite.com/gadgets/gadget.xml MySite: вам необходимо пройти аутентификацию для доступа к gadgets/gadget.xml Gmail: вот OpenID пользователя MySite: вот gadgets/gadget.xml Gmail: "раскрашивает" содержимое гаджета в контекстной области сообщения электронной почты

Пожалуйста, поправьте меня, если это неправильно


person Sameera    schedule 03.08.2010    source источник


Ответы (2)


Думаю, ответ на мой вопрос находится здесь: http://code.google.com/googleapps/marketplace/best_practices.html#gadget_sso

В соответствии с этим отсутствует неявная аутентификация OpenID. Вы несете ответственность за то, чтобы это произошло с помощью osapi.http.get.

person Sameera    schedule 15.08.2010

Я считаю, что это работает так:

  1. Администратор устанавливает ваше приложение, после чего вы можете использовать SSO, чтобы получить OpenID администратора.
  2. если вы хотите использовать двухсторонний OAuth, чтобы сказать, что все пользователи в домене, вы тоже можете это сделать (хотя я еще не заставил это работать)
  3. Когда пользователь в этом домене загружает ваш гаджет, вы можете использовать: osapi.http.get, который добавит open_social_id к запросу на ваш сервер.
  4. теперь у вас есть opensocialid, вы можете проверить, есть ли в вашей системе пользователь с этим open_social_id, если нет, то вы можете выполнить тот же процесс аутентификации OpenId, который вы делали на шаге 1 для администратора, но на этот раз вы связываете Open Social Id с OpenId, который вы получаете в процессе аутентификации
  5. теперь каждый раз, когда пользователь загружает ваш гаджет, вы можете посмотреть его открытый социальный идентификатор и определить, что он уже авторизован.
person Roger    schedule 21.09.2011