Sau hai giờ đọc tài liệu, mã nguồn và chuỗi trợ giúp, tôi sẽ từ bỏ. Tôi không thể nhận được psycopg2 để xác thực với một chuỗi md5. Theo chủ đề this tôi không phải làm gì ngoài việc bật md5-auth trong pg_hba.conf
.Tôi có thể sử dụng xác thực md5 với psycopg2 không?
Đây là của tôi hiện tại 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
Và tôi sử dụng psycopg2 như thế này:
psycopg2.connect(host='localhost', port=5433, user='me', password='md5xxxx').cursor()
Mà cho:
psycopg2.OperationalError: FATAL: password authentication failed for user "me"
Đương nhiên, các mật khẩu cho phù hợp với pg_authid. rolpassword.
Theo pg_hba.conf
Tôi chỉ có thể đăng nhập bằng md5-auth (phải không?). Tuy nhiên, mật khẩu chưa được giải quyết của tôi hoạt động tốt (và băm không) và tôi không thể tìm thấy bất kỳ tham chiếu nào đến psycopg2 băm nó trong mã nguồn của nó.
Trợ giúp?
Cảm ơn!
Ok, cảm ơn! Vì vậy, tôi đoán nó không thể xác thực với một chuỗi md5? – Martijn
Ngay nếu bạn nhập mã băm MD5 của mật khẩu, libpq sẽ tính giá trị băm MD5 của băm đó và gửi nó dọc theo dây. Ngoài ra, hãy xem chỉnh sửa của tôi ở trên. – ig0774