Po dwóch godzinach czytania dokumentacji, kodu źródłowego i wątków pomocy, poddaję się. Nie mogę przekonać psycopg2 do uwierzytelnienia za pomocą ciągu md5. Zgodnie z wątkiem this nie muszę niczego poza włączeniem md5-auth w pg_hba.conf
.Czy mogę używać uwierzytelniania md5 w psycopg2?
To jest mój obecny pg_hba.conf
:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
host all all 0.0.0.0/0 md5
i używam psycopg2 takiego:
psycopg2.connect(host='localhost', port=5433, user='me', password='md5xxxx').cursor()
Co daje:
psycopg2.OperationalError: FATAL: password authentication failed for user "me"
Naturalnie, podane hasło pasuje z pg_authid. rolpassword.
Zgodnie z pg_hba.conf
mogę zalogować się tylko za pomocą md5-auth (w prawo?). Mimo to moje odhasowane hasło działa poprawnie (i nie jest mieszane) i nie mogę znaleźć żadnych odniesień do psycopg2, które mieszają go w kodzie źródłowym.
Pomoc?
Dzięki!
OK, dziękuję! Więc domyślam się, że nie można uwierzytelnić się za pomocą ciągu md5? – Martijn
Po przejściu przez skrót MD5 twojego hasła, libpq wyliczy wartość skrótu MD5 tego hashu i wyśle go wzdłuż przewodu. Zobacz także moją edycję powyżej. – ig0774