Как я могу использовать сочетание OpenID Appengine и facebook OAuth для аутентификации в AppEngine?

Appengine поддерживает федеративный вход в систему, при котором произвольные поставщики OpenID могут быть добавлены в список сторон, которые могут аутентифицировать пользователя. Однако некоторые организации, особенно facebook, не поддерживают OpenID. Как можно объединить поддержку OpenID, предоставляемую GAE, с механизмами, которые могут поддерживать OAuth или другие механизмы входа в систему?

Подробнее (предполагается GAE Python) ...

Мое понимание того, как механизм OpenID предназначен для работа выглядит следующим образом:

  • Я выбираю Федеративный вход в параметрах конфигурации своего приложения
  • Это позволяет мне легко добавлять поставщиков OpenID с помощью механизма create_login_url
  • Есть некоторые Google управление сеансом, используемое для отслеживания аутентифицированного пользователя
  • Я контролирую доступ к ресурсам, используя логин: требуется в моем app.yaml
    • Управление сеансом проверит, аутентифицирован ли пользователь , прежде чем разрешить доступ к этим ресурсам

У меня проблема в том, что я не вижу, как этот подход сочетается с OAuth facebook - если доступ к ресурсам контролируется Google ( per app.yaml ), где можно вставить аутентификацию facebook?

Примечания:

  • Я знаю в связи с тем, что OpenID и OAuth разные - меня сейчас интересует только использование facebook для аутентификации
  • Я уверен, что есть несколько разных способов справиться с этим - мне просто интересно, есть ли какой-то стандартный подход / передовой опыт
6
задан Sean M 4 October 2011 в 14:08
поделиться