Как аутентифицировать домены на apache с помощью приложений Google

Я хочу аутентифицировать некоторые из внутренних веб-сайтов моей компании с помощью Служб Google. Мы использовали модуль Apache на основе OpenID mod_auth_openid и так как это устарело недавно, я начал искать альтернативы и нашел mod_auth_openidc, Но я не мог заставить его работать, потому что я не понимал большинство его частей (я даже пытался следовать некоторым статьям ( article1, article2), но это не помогло, поскольку мне это было не ясно).

Есть ли другое решение / статья, которая может помочь мне сделать это?

2 ответа

Решение

Первый пример в README.md здесь: https://github.com/pingidentity/mod_auth_openidc/blob/master/README.md дает хорошую отправную точку:

OIDCProviderMetadataURL https://accounts.google.com/.well-known/openid-configuration
OIDCClientID <your-client-id-administered-through-the-google-api-console>
OIDCClientSecret <your-client-secret-administered-through-the-google-api-console>

OIDCRedirectURI https://www.example.com/example/redirect_uri
OIDCCryptoPassphrase <password>

OIDCScope "openid email profile"

<Location /example/>
    AuthType openid-connect
    Require valid-user
    Require claim hd:<your-domain>
</Location>

Обычный http будет работать, конечные косые черты будут работать (если они используются последовательно, как в примере), для полного сертификата не требуется никакого сертификата, пакеты Debian работают на Ubuntu 14.04.

В статьях, которые вы упоминаете, также показано, как настроить Google.

Изменить: я просто потратил несколько часов на настройку этого. Я завелся с помощью OpenID Connect RP в PingIdentity - https://github.com/pingidentity/mod_auth_openidc (с открытым исходным кодом - лицензия Apache: https://github.com/pingidentity/mod_auth_openidc/blob/master/LICENSE.txt)

Работает хорошо, очень требователен к настройке. Некоторые ошибки:

  • Требуется HTTPS - HTTP не будет работать правильно (несмотря на то, что говорят документы)
  • Все пути и домены должны быть установлены правильно и соответствовать
  • У файлов cookie и других путей не должно быть косой черты (/)
  • Имя_сервера должно соответствовать сертификату
  • Нужен настоящий сертификат (~ $ 10)
  • OIDCMetadataDir должен быть отключен для работы с Google
  • Двоичные дистрибутивы не работают на Ubuntu, я скомпилировал с нуля
  • Компиляция требует нескольких зависимостей и запуска autoconfig.sh
  • Требуется настройка через консоль API Google, используемые API Google+

Другими словами, он не терпит небрежных настроек, которые могут нормально работать с ванильным Apache. Но, в конце концов, это прекрасно работает. Кстати, есть новая группа Google для этого модуля здесь: https://groups.google.com/forum/

Другие решения (не проверено) из моего оригинального ответа

PS Удалил предыдущий ответ, чтобы объединить два стековых аккаунта....

Другие вопросы по тегам