Phiên bản phát triển:18 / Devel
Tài liệu này dành cho phiên bản kèo bóng đá việt nam được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

32.20. Hỗ trợ kèo bóng đá việt nam#

libpqThực hiện hỗ trợ cho luồng máy khách ủy quyền thiết bị kèo bóng đá việt nam V2, được ghi lại trongRFC 8628, như một mô -đun tùy chọn. XemTài liệu cài đặtĐể biết thông tin về cách bật hỗ trợ cho ủy quyền thiết bị dưới dạng luồng tích hợp.

Khi hỗ trợ được bật và mô -đun tùy chọn được cài đặt,libpqSẽ sử kèo bóng đá việt nam luồng tích hợp theo mặc định nếu máy chủPostgresql: kèo chấp bóng đá hôm nay liệu: 18: 20.15. ỦyTrong quá trình xác thực. Lưu lượng này có thể được sử dụng ngay cả khi hệ thống chạy ứng dụng máy khách kèo bóng đá việt nam có trình duyệt web có thể sử dụng được, ví dụ khi chạy máy khách quaSSH.

Theo mặc định, lưu lượng tích hợp sẽ in URL để truy cập và mã người dùng để vào đó:

$ psql 'dbname = postgres oauth_issuer = https: //example.com oauth_client_id = ...'

(Lời nhắc này có thể làTùy chỉnh.) Sau đó, người dùng sẽ đăng nhập vào nhà cung cấp kèo bóng đá việt nam của họ, điều này sẽ hỏi liệu có cho phép LibPQ và máy chủ thực hiện các hành động thay mặt họ hay không. Luôn luôn là một ý tưởng tốt để xem xét cẩn thận URL và các quyền được hiển thị, để đảm bảo chúng phù hợp với mong đợi, trước khi tiếp tục.

Ứng dụng khách có thể thực hiện các luồng kèo bóng đá việt nam riêng họ để tùy chỉnh tương tác và tích hợp với các ứng dụng. Nhìn thấyPhần 32.20.1Để biết thêm thông tin về cách thêm luồng tùy chỉnh vàolibpq.

Đối với luồng máy khách kèo bóng đá việt nam có thể sử dụng được, chuỗi kết nối phải ở mức tối thiểuOAUTH_ISSUEROAUTH_CLIENT_ID. .

Lưu ý

Lưu lượng ủy quyền thiết bị tích hợp hiện kèo bóng đá việt nam được hỗ trợ trên Windows. Các luồng máy khách tùy chỉnh vẫn có thể được triển khai.

32.20.1. Móc AuthData#

Hành vi của dòng kèo bóng đá việt nam có thể được sửa đổi hoặc thay thế bằng máy khách bằng API Hook sau:

PQSetAuthDatahook #

ĐặtPGAuthDatahook, ghi đèlibpqxử lý một hoặc nhiều khía cạnh của luồng máy khách kèo bóng đá việt nam của nó.

9904_9957

nếuHooknull, Trình xử lý mặc định sẽ được cài đặt lại. Nếu kèo bóng đá việt nam, ứng dụng chuyển một con trỏ đến chức năng gọi lại với chữ ký:

int hook_fn (loại pgauthdata, pgconn *Conn, void *data);

Whatlibpqsẽ gọi khi yêu cầu hành động kèo bóng đá việt nam ứng dụng.loạiMô tả yêu cầu được thực hiện,ConnCó phải tay cầm kết nối được xác thực kèo bóng đá việt nam vàDataĐiểm về siêu dữ liệu cụ thể theo yêu cầu. Nội dung kèo bóng đá việt nam con trỏ này được xác định bởiloại; nhìn thấyPhần 32.20.1.1Đối với danh sách được hỗ trợ.

Móc có thể được xích lại với nhau để cho phép hành vi hợp tác và/hoặc dự phòng. Nói chung, việc triển khai móc sẽ kiểm tra đếnloại(Và, có khả năng, siêu dữ liệu yêu cầu và/hoặc cài đặt cho cụ thểConnđang sử dụng) để quyết định xem có nên xử lý một phần authData cụ thể hay kèo bóng đá việt nam. Nếu kèo bóng đá việt nam, nó nên giao cho móc trước trong chuỗi (có thể truy xuất được quaPQGetAuthDatahook).

Thành công được biểu thị bằng cách trả về một số nguyên lớn hơn 0. Trả lại một số nguyên âm báo hiệu một điều kiện lỗi và từ bỏ nỗ lực kết nối.

PQGetAuthDatahook #

Lấy giá trị hiện tại kèo bóng đá việt namPGAuthDatahook.

pqauthdatahook_type pqgetauthdatahook (void);

Tại thời điểm khởi tạo (trước cuộc gọi đầu tiên đếnPQSetAuthDatahook), chức năng này sẽ trả vềPQDefaultAuthdatahook.

32.20.1.1. Các loại hook#

saupgauthdataLoại và tương ứng kèo bóng đá việt nam chúngDataCấu trúc được xác định:

pqauthdata_prompt_oauth_device #

Thay thế dấu nhắc người dùng mặc định trong luồng máy khách ủy quyền thiết bị tích hợp.Datachỉ vào một thể hiện kèo bóng đá việt namPGPROMPTOAUTHDEVICE:

typedef struct _pgpromptoAuthDevice

Lưu lượng ủy quyền thiết bị kèo bóng đá việt nam màCó thể bao gồminlibpqYêu cầu người dùng cuối truy cập URL có trình duyệt, sau đó nhập mã cho phéplibpqĐể kết nối với máy chủ thay mặt họ. Lời nhắc mặc định chỉ đơn giản là inxác minh_uriuser_codevề lỗi tiêu chuẩn. Việc triển khai thay thế có thể hiển thị thông tin này bằng bất kỳ phương thức ưa thích nào, ví dụ với GUI.

Cuộc gọi lại này chỉ được gọi trong luồng ủy quyền thiết bị tích hợp. Nếu ứng kèo bóng đá việt nam cài đặtLưu lượng kèo bóng đá việt nam tùy chỉnhhoặclibpqkèo bóng đá việt nam được xây dựng với sự hỗ trợ cho luồng tích hợp, loại authdata này sẽ kèo bóng đá việt nam được sử dụng.

Nếu kèo bóng đá việt nam nullxác minh_uri_completeđược cung cấp, nó có thể tùy chọn được sử dụng để xác minh phi văn bản (ví dụ: bằng cách hiển thị mã QR). URL và mã người dùng vẫn nên được hiển thị cho người dùng cuối trong trường hợp này, vì mã sẽ được xác nhận thủ công bởi nhà cung cấp và URL cho phép người dùng tiếp tục ngay cả khi họ kèo bóng đá việt nam thể sử dụng phương thức phi văn bản.RFC 8628.

pqauthdata_oauth_bearer_token #

Thêm triển khai tùy chỉnh kèo bóng đá việt nam luồng, thay thế luồng tích hợp nếu đó làĐã cài đặt. Móc sẽ trực tiếp trả về mã thông báo của người mang cho tổ hợp người dùng/phát hành/phạm vi hiện tại, nếu có sẵn mà kèo bóng đá việt nam chặn, hoặc nếu kèo bóng đá việt nam sẽ thiết lập một cuộc gọi lại kèo bóng đá việt nam đồng bộ để truy xuất một.

Datachỉ vào một thể hiện kèo bóng đá việt namPgoAuthBearerRequest, nên được điền vào bởi việc thực hiện:

typedef struct pgoAuthBearerRequest

Hai mẩu thông tin được cung cấp cho hook bylibpq: OpenID_Configurationchứa URL của tài liệu khám phá kèo bóng đá việt nam mô tả các luồng được hỗ trợ của máy chủ ủy quyền vàPhạm vichứa một danh sách phân tách không gian (có thể trống) của các phạm vi kèo bóng đá việt nam được yêu cầu để truy cập máy chủ. Hoặc cả hai có thể lànullĐể chỉ ra rằng thông tin kèo bóng đá việt nam thể khám phá được. .

Đầu ra cuối cùng kèo bóng đá việt nam móc làmã thông báo, phải trỏ đến mã thông báo mang hợp lệ để sử kèo bóng đá việt nam trên kết nối. (Mã thông báo này phải được cấp bởiOAUTH_ISSUERvà giữ các phạm vi được yêu cầu hoặc kết nối sẽ bị từ chối bởi mô -đun xác thực kèo bóng đá việt nam máy chủ.) Chuỗi mã thông báo được phân bổ phải vẫn hợp lệ cho đến khilibpqkết thúc kết thúc; Móc sẽ đặt mộtCleanupgọi lại sẽ được gọi khilibpqkèo bóng đá việt nam còn yêu cầu.

18578_18630mã thông báoTrong cuộc gọi ban đầu đến hook, nó sẽ đặtAsyncGọi lại để xử lý giao tiếp kèo bóng đá việt nam chặn với máy chủ ủy quyền.[16]Điều này sẽ được gọi để bắt đầu dòng chảy ngay khi trở về từ móc. Khi cuộc gọi lại kèo bóng đá việt nam thể tiến triển hơn nữa mà kèo bóng đá việt nam chặn, nó sẽ trả vềpgres_polling_readinghoặcPGRES_POLLING_WRITYsau khi cài đặt*PGSocketđến bộ mô tả tệp sẽ được đánh dấu sẵn sàng để đọc/ghi khi tiến trình có thể được thực hiện lại. (Bộ mô tả này sau đó được cung cấp cho vòng bỏ phiếu cấp độ hàng đầu thông quapqsocket ().) Trả lạipgres_polling_okSau khi cài đặtmã thông báoKhi dòng chảy hoàn tất hoặcpgres_polling_failedĐể chỉ ra thất bại.

triển khai có thể muốn lưu trữ dữ liệu bổ sung để ghi sổ qua các cuộc gọi đếnAsyncCleanupgọi lại. Thengười dùngCon trỏ được cung cấp cho mục đích này;libpqsẽ kèo bóng đá việt nam chạm vào nội dung của nó và ứng dụng có thể sử dụng nó một cách thuận tiện. (Hãy nhớ giải phóng bất kỳ phân bổ nào trong khi dọn dẹp mã thông báo.)

32.20.2. Cài đặt gỡ lỗi và cài đặt nhà phát triển#

"Chế độ gỡ lỗi nguy hiểm" có thể được bật bằng cách đặt biến môi trườngPgoAuthDebug = kèo bóng đá việt nam an toàn. Chức năng này được cung cấp để dễ dàng phát triển và thử nghiệm cục bộ.

  • cho phép sử dụng HTTP không được mã hóa trong quá trình trao đổi nhà cung cấp kèo bóng đá việt nam

  • Cho phép danh sách CA đáng tin cậy kèo bóng đá việt nam hệ thống được thay thế hoàn toàn bằng cách sử dụngPgoAuthcafileBiến môi trường

  • 21317_21416

  • 21476_21593

Cảnh báo

Không chia sẻ đầu ra của lưu lượng lưu lượng kèo bóng đá việt nam với các bên thứ ba. Nó chứa những bí mật có thể được sử dụng để tấn công khách hàng và máy chủ của bạn.



[16]Thực hiện các hoạt động chặn trong thời gianpqauthdata_oauth_bearer_tokenHook Gọi lại sẽ can thiệp vào các API kết nối kèo bóng đá việt nam chặn nhưPQConnectPollvà ngăn chặn các kết nối đồng thời đạt được tiến trình. Các ứng kèo bóng đá việt nam chỉ sử kèo bóng đá việt nam các nguyên thủy kết nối đồng bộ, chẳng hạn nhưPQConnectDB, Có thể truy xuất đồng bộ một mã thông báo trong quá trình móc thay vì thực hiệnAsyncgọi lại, nhưng chúng nhất thiết sẽ bị giới hạn trong một kết nối tại một thời điểm.