Google Apps Premium Edition: какой механизм аутентификации использовать? - PullRequest
0 голосов
/ 30 июня 2010

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

Требования: Мы хотим отобразить собственную форму входа.Мы не хотим передавать электронную почту / пароль в виде простого текста через Интернет.

Какой механизм аутентификации мы должны использовать для достижения этой цели?

Примечание: наше приложение написано на PHP с использованием ZendРамки (если это имеет значение).

Ответы [ 3 ]

0 голосов
/ 15 июля 2010

Когда дело доходит до интеграции Служб Google и частной системы, используемой внутри, у нас просто есть два варианта.

  1. Используйте Google в качестве центра аутентификации. Измените частную систему для аутентификации на сервере Google. Мы могли бы использовать OpenID или AuthSub. Проверьте http://code.google.com/apis/accounts/docs/OpenID.html и http://code.google.com/apis/accounts/docs/AuthSub.html для получения дополнительной информации.
  2. Использовать частную систему в качестве центра аутентификации. В этом случае мы должны внедрить протокол SAML на частном сервере и настроить параметры единого входа в Службах Google. Проверьте http://code.google.com/googleapps/domain/sso/saml_reference_implementation.html для получения дополнительной информации.

Проще выполнить SSO с помощью первого метода, поскольку там уже есть множество библиотек OpenID. Но, как вы описали в требованиях, вы хотите использовать свою собственную форму входа. Так что, думаю, вам нужно пойти по второму методу.

Кстати, если ваша частная система должна получать или устанавливать информацию от Google, вы можете использовать OAuth для авторизации. См. http://code.google.com/apis/accounts/docs/OAuth.html для получения дополнительной информации.

0 голосов
/ 05 июля 2011

Используйте ClientLogin API, он делает именно то, что вам нужно: позволяет проверить имя пользователя и пароль.(ссылка идет на предоставление API doco, но здесь это не актуально)

Pro:

  • вы можете использовать собственную форму входа

Минусы:

  • вы не получаете единого входа с Google Apps, то есть пользователям, уже находящимся в Apps, будет предложено снова войти в систему (вы не упомянули это как требование, но кажется разумным желать этого))
  • Google не понравится вам (они пытаются препятствовать ProgrammaticLogin.
  • вы будете время от времени получать тесты CAPTCHA, которые вам понадобятся, чтобы показать своим пользователям.

OpenID специально запрещает вам отображать вашу собственную страницу входа в систему, поэтому, если это жесткие требования, Programmatic Login - ваш единственный выбор.

Переход на SSO-маршрут позволяет вам делать практически все, но может быть немногоЕсли вы действительно хотите пойти по этому пути, обратитесь к SimpleSAMLphp.

.
0 голосов
/ 30 июня 2010

Я бы посмотрел на некоторую комбинацию OpenID и пользователей вашего домена (то есть, только те, кто на domain.com могут войти в систему).

Google API

Онитакже есть библиотеки для PHP и других языков, которые вы можете использовать для этого.

РЕДАКТИРОВАТЬ:

Дополнительная информация

...