Tôi sắp bắt đầu làm việc trên một nguyên mẫu cho một khách hàng - và một trong những tính năng cần có là tích hợp với hệ thống đăng ký / xác thực người dùng nội bộ.
Hệ thống này sẽ hoạt động như cơ sở dữ liệu người dùng có thẩm quyền và cung cấp giao diện RESTful để tạo người dùng mới và xác thực người dùng hợp lệ.
Tôi cần có khả năng tạo người dùng mới trong WP và như một phần của quy trình đó thực hiện cuộc gọi đến API xác thực bên ngoài để tạo / xác thực người dùng đó.
Một người là người dùng hợp lệ nhưng không biết đến WP nên có thể đăng nhập để bình luận mà không cần phải đăng ký trên trang WP.
Một người đăng nhập vào trang web tổng thể cũng sẽ tự động đăng nhập vào WordPress.
Tôi đang nghĩ sau đây là con đường để đi.
Đối với (1) - tôi có thể sử dụng móc đăng ký không?
Đối với (2) - Tôi giả sử tôi móc bộ lọc xác thực - tức là khi ai đó cố gắng đăng nhập, tôi bẫy nó, thực hiện cuộc gọi đến hệ thống bên ngoài và sau đó xử lý đăng nhập WP hoặc chuyển hướng chúng đến quy trình đăng ký trong đó ( 1) mất oer.
Đối với (3) - đọc cookie đăng nhập được đặt bởi trang web chính và tiến hành (2)?
Tôi đoán tôi cũng sẽ cần phải chèn một bản ghi vào bảng người dùng và bảng usermeta.
Vì vậy, những điều trên có ý nghĩa - tôi đã không nghĩ về một cái gì đó. Bất cứ ai cũng có bất kỳ nguồn lực tốt nào để trợ giúp việc này (@hakre - Tôi thấy bạn đã hoàn thành một số công việc này !!).
Cập nhật
Vì vậy, tôi vẫn cố gắng chống lại điều này một chút, về cơ bản là tôi đang cố gắng nối vào bộ lọc xác thực và sử dụng nó để:
- kiểm tra xem cookie đăng nhập cho trang web 'chính' đã được đặt chưa và nếu có, hãy xác nhận lại với API xác thực của họ và nếu hợp lệ, hãy đăng nhập WP bằng
wp_signon()
, sử dụng thông tin có trong cookie của trang chính (email và mật khẩu băm) làm thông tin đăng nhập cho WP - nếu cookie không được đặt, hãy chuyển hướng đến trang đăng nhập trang chính và nhận thông tin đăng nhập / đăng ký, sau đó quay lại bước 1
- nếu không có người dùng WP khi tồn tại người dùng trang chính được xác thực, hãy tạo nó và sau đó đăng nhập 'minh bạch' (nghĩa là người dùng không thấy biểu mẫu đăng nhập WP)
Về cơ bản, tôi muốn ẩn hoàn toàn mẫu đăng nhập WP cho những người dùng sẽ chủ yếu bình luận và sau đó tìm cách cho phép tác giả và quản trị viên truy cập trực tiếp.
Nó diễn ra khá chậm, đây là những gì tôi có thể sử dụng một số trợ giúp với:
bộ lọc xác thực có đúng không? Nó dường như không được gọi trong tất cả các tình huống tôi mong đợi - ví dụ: tiện ích meta hiển thị các liên kết đăng nhập / đăng xuất mà không cần khai thác hook xác thực
tôi có thể
wp_signon()
trả về mộtWP_User
đối tượng (biểu thị thành công), nhưng nó không ảnh hưởng đến trạng thái đã đăng nhập - tức là tiện ích meta vẫn sẽ hiển thị "Đăng nhập" ngay cả sau khi làm mới.
Mọi sự giúp đỡ đều biết ơn :)