Đăng kí và đăng nhập của người dùng
Drupal cho phép người dùng đăng kí, đăng nhập và đăng xuất khỏi nó.
Với người dùng mới, muốn làm thành viên của Drupal thì phải đăng kí trực tiếp, bằng cách cung cấp một tên và một tài khoản e-mail hợp lệ hoặc gián tiếp thông qua các dịch vụ của bên thứ ba như Google, Facebook... Tất cả các e-mail từ hệ thống sẽ được gửi đến địa chỉ này. Địa chỉ e-mail không được công khai và sẽ chỉ được sử dụng nếu người dùng muốn nhận mật khẩu mới, nhận tin tức hoặc thông báo qua e- mail.
Đi tới Configuration -> Account settings, có thể chọn một trong ba tùy chọn đăng ký cho các thành viên mới của trang web:
- Only people invited by an administrator: Chỉ cho phép
những người được mời bởi quản trị viên đăng ký.
- Visitors: khách đăng ký tự động trở thành thành viên của trang web và có thể đăng nhập và truy cập nội dung giới hạn cho người dùng có vai trò Authenticated.
- Visitors, but administrator approval is required:
khách đăng ký có thể trở thành thành viên của trang web nhưng họ bị chặn, tức là họ sẽ không thể đăng nhập hoặc truy cập nội dung giới hạn cho người dùng có vai trò Authenticated cho đến khi được sự chấp thuận của Administrator.
Có thể chặn hoặc bỏ chặn hoạt động của người dùng trong Drupal bằng cách thay đổi giá trị của thuộc tính Status trong trang thông tin người dùng thành Active
hoặc Blocked.
Người dùng muốn đăng nhập vào Drupal phải xác thực bằng cách cung cấp một tên người dùng và mật khẩu mà họ đã đăng ký với Drupal, hoặc thông qua OpenID của họ hoặc thông qua dịch vụ đăng nhập của bên thứ ba - một phương pháp an toàn và tùy chọn để đăng nhập vào nhiều trang web với tên người dùng và mật khẩu duy nhất.
3.3. Xây dựng ứng dụng kết nối Facebook dựa trên giao thức OAuth 3.3.1. Môi trường thực nghiệm ứng dụng 3.3.1. Môi trường thực nghiệm ứng dụng
*) Máy chủ LAMP: chạy trên nền hệ điều hành Ubuntu 12.04, cài đặt các
chương trình mã nguồn mở phổ biến sau:
1. Máy chủ phục vụ web: Apache/2.2.22 (Ubuntu)
2. Hệ quản trị cơ sở dữ liệu: MySql 5.5.38-0ubuntu0.12.04.1 3. Ngôn ngữ lập trình PHP 5.3.10-1ubuntu3.13;
*) Drupal 7.31: là khung sườn phát triển ứng dụng web, một hệ thống quản trị
nội dung miễn phí và mã nguồn mở.
*) FaceBook API: là một nền tảng được hãng facebook cung cấp để xây dựng
những ứng dụng cho các thành viên của mạng xã hội Facebook.
3.3.2. Xây dựng và thiết lập chức năng Login/Register cho Drupal thông qua tài khoản Facebook khoản Facebook
Thông thường người dùng không muốn chia sẻ tài khoản email hoặc thông tin cá nhân của họ với bất kỳ trang web nào trên mạng Internet vì rất mất thời gian cho việc đăng ký và có thể vì lý do bảo mật. Một cách hiệu quả hơn, trang web có thể tận dụng các dịch vụ đăng nhập của bên thứ ba như Google, Facebook hay Twitter...
Cộng đồng mạng cung cấp một số module như: drupal for facebook, facebook connect, facebook oauth... với rất nhiều chức năng trong đó có chức năng đăng nhập và đăng ký tài khoản người dùng Drupal thông qua Facebook. Ở đây tôi chỉ xây dựng module với chức năng đơn giản để hiểu hơn về cơ chế xác thực của giao thức OAuth.
Tên module: oafb.
Chức năng của module:
- Nếu địa chỉ email của người dùng được tìm thấy trong cơ sở dữ liệu của Drupal thì người dùng được tự động đăng nhập. Ngược lại, một tài khoản mới được tạo ra trong Drupal với địa chỉ email đó và người dùng được chuyển sang trạng thái đã đăng nhập.
Ý tưởng thiết kế module:
- Tạo block với nút bấm “Login/Register via FB” để có thể đặt ở vị trí tùy ý trên trang Drupal.
- Đối tượng sử dụng nút bấm là người dùng chưa xác thực “Anonymous Users”.
- Cách hoạt động của module được minh họa trong sơ đồ như hình 3.10: