Vì vậy, giả định mặc định mà hầu hết các mô-đun Drupal đưa ra với xác thực là chúng sẽ thay thế thiết lập đăng nhập hiện tại bằng chính thiết lập của chúng.
Cách tiếp cận này được mô tả tốt trong http://drupal.org/node/114774#dist-auth và có thể được nhìn thấy trong cách mô-đun openid hiện tại được cung cấp trong lõi Drupal hoạt động.
Nếu tôi hiểu chính xác câu hỏi của bạn, bạn muốn cung cấp một cách để mọi người xác thực từ nhiều nguồn khác nhau và để các nguồn được kích hoạt đó hiển thị dưới hồ sơ người dùng của họ. Tôi không nghĩ đã có một mô-đun thực hiện điều này, vì hầu hết các mô-đun auth hoạt động trong bong bóng nhỏ của riêng chúng như được mô tả ở trên.
Sau khi xem nhanh về OpenID Selector, bạn sẽ không nhận được nhiều dặm từ đó, chủ yếu là triển khai và định cấu hình thư viện jquery. Bạn sẽ cần phải viết điều này từ đầu.
Các phần chính của mô-đun của bạn sẽ là:
- Một bảng cơ sở dữ liệu duy trì các thông tin đăng nhập liên quan đến một người dùng nhất định.
- Một số loại lược đồ form_alter cho trang đăng nhập để hiển thị tất cả các tùy chọn đăng nhập có sẵn mà chủ sở hữu trang web đã chỉ định (điều này sẽ thay thế những gì các mô-đun riêng lẻ hiện đang làm)
- Một trang quản trị cho chủ sở hữu trang web để chọn từ các tùy chọn có sẵn.
Mỗi một trong số các tùy chọn đăng nhập đó có thể sẽ được cung cấp bởi một mô-đun đóng góp riêng biệt, do đó bạn có thể phải thay đổi logic của mình cho các chi tiết cụ thể bạn tìm thấy trong quá trình triển khai từ các mô-đun đó.
Đối với tôi, đây là một cam kết đầy tham vọng cho một mô-đun có thể định cấu hình mà bạn dự định phát hành, nhưng nếu bạn đi theo con đường mã hóa nhanh / bẩn tùy biến cao và bẩn cho một trang web thì sẽ không mất quá nhiều thời gian.
Các nơi khác để tìm cảm hứng về cách các mô-đun xác thực hoạt động trong Drupal và các nguồn có thể bạn muốn đưa vào là FBOauth và Twitter .