This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
сервис_oauth2 [2022/05/17 08:00] val [Gitlab] |
сервис_oauth2 [2023/11/06 11:14] val [Keycloak] |
||
---|---|---|---|
Line 7: | Line 7: | ||
* [[https://www.ory.sh/run-oauth2-server-open-source-api-security/|ORY Hydra Run your own OAuth2 Server]] | * [[https://www.ory.sh/run-oauth2-server-open-source-api-security/|ORY Hydra Run your own OAuth2 Server]] | ||
* [[https://www.ory.sh/hydra/docs/5min-tutorial/|ORY Hydra 5 Minute Tutorial]] | * [[https://www.ory.sh/hydra/docs/5min-tutorial/|ORY Hydra 5 Minute Tutorial]] | ||
+ | * [[https://github.com/goauthentik/authentik]] | ||
===== Gitlab ===== | ===== Gitlab ===== | ||
- | * Инструмент GitLab [[Инструмент GitLab#OAuth2]] | + | * Инструмент GitLab [[Инструмент GitLab#Сервер OAuth2]] |
- | ===== OpenID Connect authentication module for Apache ===== | + | ===== Keycloak ===== |
- | * [[https://github.com/zmartzone/mod_auth_openidc|Аuthenticates users of a web site against an OpenID Connect Identity Provider or an OAuth 2.0 Authorization Server]] | + | ==== Установка, запуск и базовая конфигурация ==== |
+ | * [[https://www.keycloak.org/getting-started/getting-started-zip|Get started with Keycloak on bare metal]] | ||
+ | * [[Сервис JRE]] | ||
+ | * [[Пакет OpenSSL#Создание самоподписанного сертификата]] | ||
<code> | <code> | ||
- | # apt install libapache2-mod-auth-openidc | + | server# wget https://github.com/keycloak/keycloak/releases/download/22.0.5/keycloak-22.0.5.zip |
+ | |||
+ | server:~/keycloak-22.0.5# KEYCLOAK_ADMIN=root KEYCLOAK_ADMIN_PASSWORD='strongpassword' bin/kc.sh start-dev --https-certific=/root/server.crt --https-certificate-key-file=/root/server.key | ||
</code> | </code> | ||
- | ==== GitLab ==== | + | * https://server.corp13.un:8443/ |
- | + | ||
- | * [[https://github.com/zmartzone/mod_auth_openidc/wiki/GitLab-OAuth2]] | + | |
<code> | <code> | ||
- | # cat /etc/apache2/sites-available/default-ssl.conf | + | Create Realm->myrealm |
- | </code><code> | + | Users |
- | ... | + | Add User |
- | OIDCProviderMetadataURL https://gitlab.bmstu.ru/.well-known/openid-configuration | + | user1/password1 |
- | OIDCClientID 802..........................................................4c8 | + | </code> |
- | OIDCClientSecret 991..........................................................5e7 | + | |
- | OIDCRedirectURI https://val.bmstu.ru/auth-test | + | |
- | OIDCCryptoPassphrase h...any.....string.....j | + | |
- | <Directory /home/val/auth-test> | + | ==== Аутентификация пользователей WEB приложения ==== |
- | Options ExecCGI Indexes FollowSymLinks | + | |
- | AddHandler cgi-script .cgi | + | <code> |
- | DirectoryIndex env.cgi | + | Create Client |
- | AuthType openid-connect | + | Client ID: test-cgi |
- | Require valid-user | + | Valid redirect URIs: http://gate.corp13.un/cgi-bin/test-cgi |
- | </Directory> | + | |
- | Alias /auth-test "/home/val/auth-test" | + | |
- | ... | + | |
</code> | </code> | ||
- | ==== Тестирование ==== | + | * [[Сервис HTTP#Управление доступом к HTTP серверу с использованием OAuth2 аутентификации]] |
+ | |||
+ | ==== Подключение БД пользователей Kerberos ==== | ||
+ | |||
+ | * [[https://habr.com/ru/companies/slurm/articles/661209/|Как настроить Kerberos аутентификации в Keycloak]] | ||
- | * !!! В настройках URL без финального "/", при подключении обязательно с ним !!! | + | * [[Настройка KDC серверов и клиентов#Настройка KDC]] |
+ | * [[Регистрация ключей принципалов в KDC#Регистрация принципалов пользователей в базе данных kerberos]] | ||
+ | * Создание принципала HTTP/server.corp13.un@CORP13.UN по аналогии с [[Аутентификация доступа к SQUID]] | ||
<code> | <code> | ||
- | https://val.bmstu.ru/auth-test/ | + | User federation |
+ | Kerberos | ||
+ | UI display name: CORP13 | ||
+ | Kerberos realm: CORP13.UN | ||
+ | Server principal: HTTP/server.corp13.un@CORP13.UN | ||
+ | Key tab: /etc/krb5.keytab | ||
+ | Allow password authentication: yes | ||
</code> | </code> |