Авторизация через SSO (OpenID, OAuth)
Выполните установку необходимых модулей Apache:
$ sudo apt-get install libapache2-mod-auth-openidc
Включите использование модуля:
$ sudo a2enmod auth_openidc
В файле настройке сайта добавьте следующие строки:
...
LoadModule auth_openidc_module modules/mod_auth_openidc.so
<VirtualHost *:80>
...
OIDCClaimPrefix "OIDC-"
OIDCResponseType "id_token"
OIDCScope "openid email"
OIDCProviderMetadataURL "..."
OIDCClientID "..."
OIDCClientSecret "..."
OIDCRedirectURI http://<devprom-alm-server>/openid/auth
OIDCCryptoPassphrase <your-secret-phrase>
<LocationMatch /openid>
AuthType openid-connect
Require valid-user
</LocationMatch>
</VirtualHost>
Пример заполнения параметров для аутентификации через Gmail
OIDCProviderMetadataURL | https://accounts.google.com/.well-known/openid-configuration |
---|---|
OIDCClientID | ClientID можно получить по ссылке https://console.cloud.google.com/apis/credentials для зарегистрированного приложения, где в качестве RedirectURI необходимо прописать путь к приложению http://<devprom-alm-server>/openid/auth |
OIDCClientSecret | ClientSecret можно получить вместе с ClientID |
Дополнительные настройки
В файле htdocs/settings_server.php вы можете добавить следующие константы, чтобы настроить работу аутентификации через SSO-сервер.
define('AUTH_OPENID_USED', true); | Отобразить кнопку SOO на странице авторизации для входа через SSO-сервер. |
define('AUTH_OPENID_ONLY', true); | Использовать только аутентификацию через SSO, без возможности аутентифицироваться по паре логин/пароль. |
define('AUTH_OPENID_CREATEVISITOR', true); | Автоматически создавать учетную запись для посетителя, успешно аутентифицировавшегося через SSO-сервер. |