Ошибка при выполнении /opt/idp# ./fam_linux_amd64 -generatekey

Добрый день!
При попытке сгенерировать key.dat в директории /opt/idp появляется ошибка:
{“level”:“fatal”,“error”:“cannot parse postgres://avanpost:xxxxxx@hostname.int/idp?sslmode=disable: failed to parse as URL (parse "postgres://avanpost:password@hostname/idp?sslmode=disable": net/url: invalid userinfo)”,“time”:“2024-07-18T14:03:01+03:00”,“message”:“database: connection could not be opened”}
Все действия выполнялись по инструкции Avanpost FAM/MFA+ : 4.2.2. Установка FAM Server в Linux из deb-пакета

1 лайк

Добрый день!

Вы настраивали аутентификацию клиентов для БД?

В файле /var/lib/pgsql/версия/data/pg_hba.conf – изменить метод аутентификации на md5 для IPv4 (host all all 127.0.0.1/32 ) и IPv6 (host all all ::1/128 ) подключений:


После внесения изменений в pg_hba.conf перезапустить PostgreSQL.

Путь к файлу pg_hba.conf для разных ОС и версий ОС может отличаться.

Например, для Ubuntu файл хранится по пути: /etc/postgresql/'файл'

Для поиска необходимого файла рекомендуется воспользоваться командой find / -name 'pg_hba.conf'

2 лайка

Добрый день! Метод аутентификации был изменен на md5.

Добрый день!

Вы проверяли сетевую доступность до БД?
У вас запущен SELinux или какие то другие средства защиты?

БД доступна, она физически на одном хосте с FAM Server, дистрибутив Debian, без включенных систем защиты.

Добрый день!
Попробуйте в вашей строке подключения к БД поменять хост на 127.0.0.1
Пример:
postgres://avanpost:Passw0rd@127.0.0.1/idp?sslmode=disable

Поменял хост при подключении, но теперь при попытке выполнить cd /opt/idp
./fam_linux_amd64 -init появляется следующая ошибка инициализации:
idp@hostname:/opt/idp$ ./fam_linux_amd64 -init

panic: runtime error: slice bounds out of range [:-222]

goroutine 1 [running]:

/home/jenkins/workspace/SSO/Server/master/pkg/x/security/encryptor.go:42
Sign in · GitLab(0xc00075d920, {0xc0020dc480?, 0xc?})
/home/jenkins/workspace/SSO/Server/master/pkg/x/security/encryptor.go:81 +0x1b2
Sign in · GitLab(0xc0022d1d40, {0x1ac8745?, 0x7f9297667108?})
/home/jenkins/workspace/SSO/Server/master/pkg/oauth2/manager/client_manager.go:50 +0x54
Sign in · GitLab({0x1ac8745?, 0xc002004c90?}, {0xc00199f9e2, 0x2c}, {0x1ac1e6e, 0x9})
/home/jenkins/workspace/SSO/Server/master/pkg/appcommand/appcommand.go:31 +0x68
Sign in · GitLab
/home/jenkins/workspace/SSO/Server/master/pkg/product/runner/runner.go:871 +0x1f2a
Sign in · GitLab({0x1e2c5a0, 0xc00059f540})
/home/jenkins/workspace/SSO/Server/master/pkg/product/runner/runner.go:552 +0x199a
main.main()
/home/jenkins/workspace/SSO/Server/master/cmd/fam/main.go:15 +0x157
idp@hostname:/opt/idp$ panic: runtime error: slice bounds out of range [:-222]

Добрый день!

Попробуйте пересоздать базу и ключ по статье: Проблема с инициализацией FAM Server при первоначальной установке

Выполнил рекомендации, пересоздал key.dat получил следующее:
{
“error”: “unauthorized_client”,
“error_description”: “The client is not authorized to request an authorization code using this method.”,
“error_hint”: “redirect URI (http://hostname/admin/callback) not registered for the client (adminconsole)”
}

Нашел эту тему, но я так понимаю что немного не мой случай.

Добрый день!

Скорее всего какие то проблемы с конфигом.

Попробуйте остановить сервис idp, в файле /opt/idp/config.toml поменять все baseUrl на http://hostname и выполнить заново инициализацию ./fam_linux_amd64 -init