Gmail Contextual Gadgets и шаги аутентификации OpenID
Я пытаюсь понять правильную последовательность шагов, выполняемых Gmail при загрузке и аутентификации контекстного гаджета. Одна из причин (есть и другие) заключается в том, что я хочу знать, могу ли я сделать гаджет манифестом за аутентификацией Open ID, чтобы только аутентифицированные пользователи могли вытащить гаджет в Gmail.
Я не видел никакой документации по этому вопросу. Вот как я думаю, что это работает... (где mysite.com является проверяющей стороной openID).
Пользователь: нажимает на почту в Gmail Входящие Gmail: Загрузить почту. Извлечь манифест гаджета из mysite.com/gadgets/gadget.xml MySite: вам необходимо пройти аутентификацию для доступа к гаджетам /gadget.xml Gmail: вот OpenID пользователя MySite: вот гаджеты /gadget.xml Gmail: "рисует" содержимое гаджета на контекстная область письма
Пожалуйста, поправьте меня, если это не так
2 ответа
Ну, я думаю, что ответ на мой вопрос здесь: http://code.google.com/googleapps/marketplace/best_practices.html
Согласно этому, не существует неявной аутентификации OpenID. Вы несете ответственность за то, чтобы сделать это с помощью osapi.http.get.
Я считаю, что так оно и работает:
- Администратор устанавливает ваше приложение, и вы можете использовать SSO для получения OpenID администратора.
- если вы хотите использовать двухстороннюю OAuth, чтобы получить доступ ко всем пользователям в домене, вы можете сделать это тоже (хотя я еще не заставил это работать)
- Когда пользователь в этом домене загружает ваш гаджет, вы можете использовать: osapi.http.get, который добавит open_social_id к запросу на ваш сервер.
- теперь у вас есть opensocialid, который вы можете проверить, есть ли в вашей системе пользователь с этим open_social_id, если нет, то вы можете выполнить тот же процесс аутентификации OpenId, который вы выполнили на шаге 1 для администратора, но на этот раз вы связываете Open Social Id с OpenId, который вы получаете в процессе аутентификации
- теперь каждый раз, когда пользователь загружает ваш гаджет, вы можете просмотреть его открытый социальный идентификатор и определить, что он уже авторизован.