Есть ли библиотека для обнаружения приложений openid на Python для вывода приложений appengine на рынок приложений?

Я ищу информацию о том, как разместить приложение Google Appengine на недавно объявленном рынке приложений Google.

Страница по адресу http://code.google.com/googleapps/marketplace/sso.html не имеет библиотеки обнаружения приложений openid на Python, которая, кажется, является камнем преткновения.

Кто-нибудь портировал приложение appengine на маркетплейс? или знаете о существовании библиотеки обнаружения приложений openid python? или у вас есть график по этому поводу?

обновлено: см. комментарий re: стандартная библиотека openid python против библиотеки, которая поддерживает «обнаружение приложений»

обновлено: по-видимому, в настоящее время это невозможно, однако скоро появится http://www.google.com/support/forum/p/apps-apis/thread?tid=52e36f012c2436c3&hl=en


person molicule    schedule 11.03.2010    source источник


Ответы (2)


Я ответил почти на тот же вопрос на странице для входа в приложения Google в django. Проверить это.

Отредактировано:

Собственно, ваш вопрос можно разделить на два связанных вопроса.

  1. Как создать приложение для Google Marketplace?
  2. Как пройти аутентификацию с помощью учетной записи Google Apps для входа в приложение?

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

Что касается первого вопроса, когда вы регистрируете свое приложение в Google Marketplace, вы указываете свой URL-адрес для входа. Он имеет формат http://yourdomain.com/auth/domain.com. Часть domain.com - это доменное имя организации, которая решила установить ваше приложение. Когда одна организация установила ваше приложение, она будет использовать этот URL-адрес входа в качестве точки входа. Это ваше приложение определяет, что делать с запросом. Обычно вы перенаправляете пользователя на страницу входа. Поскольку вы хотите, чтобы пользователь входил в систему со своей учетной записью Google Apps, вы можете сгенерировать запрос на вход и перенаправить пользователя на сервер Google. И эта часть связана со вторым вопросом.

Что касается второго вопроса, вы можете разрешить пользователю входить в ваше приложение со своей учетной записью Google Apps, реализовав механизм аутентификации Google AuthSub или OpenID. Поскольку вы запрашиваете библиотеку openid, я думаю, вы выбрали openid. Если вы хотите использовать openid для аутентификации, вам следует обратить внимание на собственный метод обнаружения Google, которого нет в стандартной библиотеке. Проверьте мой ответ в другом вопросе, на который я ответил, для получения дополнительной информации.

Я только что загрузил свою исправленную версию python-openid-2.2.4 на github. Вот ссылка: http://github.com/adieu/python-openid/

Кстати: вам действительно не нужно просить пользователя поместить какой-либо файл на свой сервер. Но если они это сделают, они могут изменить внутренний сервер аутентификации openid по умолчанию.

Может, мне стоит написать об этой проблеме в блоге :)

person adieu    schedule 08.04.2010
comment
Не могли бы вы предоставить более подробное пошаговое руководство по реализации этого и о том, как это согласуется с blog.notdot.net/2010/03/, особенно. размещение файла openid на сервере и т. д. - person molicule; 08.04.2010
comment
Пожалуйста, напишите об этом в блоге и сделайте ссылку отсюда. - person Gabriel; 30.04.2010

Библиотека python-openid, похоже, поддерживает обнаружение.

person Nick Johnson    schedule 11.03.2010
comment
страница code.google.com/googleapps/marketplace/ говорит: Поскольку Google Apps не требует, чтобы каждый клиент размещал веб-сайт, для доменов Google Apps используется слегка измененная версия протокола обнаружения, и далее идет речь о библиотеке php-openid-apps-discovery. Стандартная библиотека openid явно не работает. Было бы полезно иметь четкую запись о том, как приложение python appengine может участвовать в рынке приложений. PS: Я слежу за вашим блогом notdot.net, отличный материал. - person molicule; 11.03.2010
comment
Единственный шаг, о котором стандартная библиотека python-openid не заботится, это первоначальное обнаружение - получение http: // {domain} /.well_known / ... или эквивалента google.com. Я все же собираюсь написать об этом пост, хотя, возможно, завтра. :) - person Nick Johnson; 12.03.2010
comment
очевидно, что в настоящее время это невозможно, однако скоро появится google.com/support/forum/p/apps-apis/ - person molicule; 12.03.2010