Используйте Plone для аутентификации пользователей с мобильных устройств - PullRequest
2 голосов
/ 10 мая 2011

Я начинаю создавать приложение для iPhone / Android, которое должно будет использовать пользователей Plone (то есть зарегистрироваться на веб-сайте, а затем пользоваться приложением на своем мобильном телефоне).

Каков наилучший подход для этого? Я видел некоторые приложения, использующие OAuth или другие методы, которые в настоящее время поддерживают Plone4 (точно 4.0.3).

У меня есть пользователи на сервере LDAP (OpenLDAP), но даже при том, что мне все равно приходится регистрировать их на Plone, чтобы иметь возможность отправлять и получать данные оттуда на мобильный телефон.

1 Ответ

5 голосов
/ 11 мая 2011

У вас есть 3 варианта, и то, что вы выберете, зависит от ваших навыков и количества времени, которое вы готовы инвестировать:

Базовая аутентификация

Пусть ваш пользователь введет имя пользователя и пароль в приложение и просто использует заголовки HTTP BasicAuth для доступа к сайту. Plone поддерживает базовую аутентификацию аутентификации из коробки.

Это не самый безопасный метод; пароли в основном отправляются в кодировке base64, поэтому вы можете использовать HTTPS для связи с сервером. В любом случае, хорошая идея для аутентификации.

Проверка подлинности файлов cookie

Отправьте запрос POST с элементами __ac_name и __ac_password в '/ login_form' на вашем сайте Plone и захватите заголовок Set-Cookie в ответе, содержащем файл cookie __ac. Это токен аутентификации tk-auth, который вы можете использовать при любом последующем запросе. Это безопасный cookie, но любой злоумышленник, прослушивающий поток HTTP-сообщений, может использовать это повторно, поэтому HTTPS снова является безопасным способом связи.

OAuth

Plone (пока) не поддерживает OAuth из коробки, но интеграция с python-oauth должна быть тривиальной. Это, скорее всего, потребует написания плагина PluggableAuthSystem (PAS).

...