Как аутентифицировать домены на 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/
Другие решения (не проверено) из моего оригинального ответа
- Один: http://www.ginzametrics.com/blog/announcing-odin-authenticator/
- Единый вход в Службы Google: https://github.com/epotocko/apache-google-apps-sso (давно не обновлялся)
PS Удалил предыдущий ответ, чтобы объединить два стековых аккаунта....