Việc mở kết nối OpenID cho trang web chính thức của cộng đồng NukeViet đã đánh dấu việc hoàn thành giai đoạn 2 trong dự án 3 giai đoạn nhằm tăng cường khả năng kết nối trong cộng đồng website sử dụng mã nguồn NukeViet với nhau và với các hệ thống có tính mở khác. Nó cũng khẳn định cam kết của Ban Quản Trị mã nguồn mở NukeViet nhằm
hỗ trợ lâu dài và xây dựng NukeViet thành mã nguồn mở hàng đầu Việt Nam OpenID cung cấp trên website NukeViet.VN1. Tổng quan về openidOpenID là một hệ thống đăng nhập một lần không có tính tập trung. Đối với những trang web có sử dụng OpenID thì người sử dụng không cần phải nhớ các thông tin về username và password cho riêng trang đó nữa. Thay vào đó họ chỉ cần đăng ký trước 1 tài khoản OpenID tại một trong những nhà cung cấp OpenID, hay thường gọi là i-broker. Do OpenID không mang tính tập trung nên bất kỳ trang web nào cũng có thể sử dụng được OpenID như là một cách đăng nhập cho người dùng.
OpenID hiện đang được ứng dụng rộng rãi trong các trang web lớn như AOL, Facebook, Yahoo, gmail... Thêm vào đó, việc tích hợp hỗ trợ OpenID có mức ưu tiên cao trong bản Firefox 3. Microsoft cũng đang tiến hành phát triển OpenID 2.0 cho bản Windows Vista và windows 7 của họ
2. NukeViet OpenIDNukeVietOpenID hỗ trợ OpenID 2.0 Directed Identity protocol, cho phép những tên miền được lưu trữ trên máy chủ có thể yêu cầu xác thực. Khi có yêu cầu từ một trang web thứ ba NukeViet OpenID sẽ thực hiện việc kiểm tra xác thực tên miền hợp lệ, Tên miền được mã hóa như một ID và lưu trữ trên máy chủ của nukeviet, nếu ID này là phù hợp, một yêu cầu xác thực sẽ được trả về cho người dùng yêu cầu họ cho phép gửi thông tin trả về website thứ ba. Nếu người dùng chưa đăng nhập trên máy chủ NukeViet, một yêu cầu đăng nhập sẽ được gửi về.
Nếu địa chỉ website thứ ba không tồn tại trên máy chủ, yêu cầu xác thực sẽ bị từ chối.
3. Tổng quan quá trình tương tác.OpenID login authentication cho các ứng dụng web liên quan đến một chuỗi các tương tác giữa ba thành phần, NukeViet OpenID lưu trữ trên máy chủ tên miền hợp lệ, dịch vụ chứng thực đăng nhập của NukeViet(đã được tích hợp trong các phiên bản nukeviet), và người dùng cuối. Sơ đồ và trình tự dưới đây mô tả quá trình của một phiên đăng nhập.
-
- Tổng quan quá trình tương tác
- Các ứng dụng web sẽ yêu cầu người dùng cuối để đăng nhập bằng cách cung cấp một tập hợp các lựa chọn (đăng nhập thông thương và đăng nhập bằng các nhà cung cấp OpenID trong đó có NukeViet).
- Người sử dụng lựa chọn để đăng nhập vào bằng cách sử dụng một tài khoản NukeViet trên
http://nukeviet.vn.
- Các ứng dụng web thực hiện phát hiện dịch vụ được định nghĩa trong tài liệu xrds.
- NukeViet trả về một tài liệu xrds.
Ví dụ: Xem tại đây:
http://nukeviet.vn/phpbb/viewtopic.php?f=138&t=19305- Các ứng dụng web sẽ gửi một yêu cầu chứng thực đăng nhập (Các tùy chọn đã có sẵn) đến NukeViet.
- Chuyển hướng đăng nhập nếu người dùng chưa đăng nhập trên nukeviet.vn sau đó yêu cầu người dùng chấp nhận xác thực đăng nhập của ứng dụng web đó.
- Người sử dụng đăng nhập vào nukeviet.vn và xác thực yêu cầu.
- Trả về chứng thực đăng nhập.
- Ứng dụng web nhận chứng thực và xác minh người dùng sau đó cho phép người dùng đăng nhập vào hệ thống của mình với vai trò thành viên.
4. Cân nhắc về vấn đề an ninh:Để tăng thêm tính bảo mật cho người dùng, NukeViet OpenID đặt ở chế độ luôn luôn xác nhận, qua đó mọi yêu cầu xác thực đăng nhập cần phải qua sự đồng ý của người dùng.
Ngoài ra, OpenID sử dụng lại các tài nguyên có sẵn của nukeviet như các class Hash, IP, Flood, chống quá tải máy chủ để đảm bảo an ninh.
5. Thư viên sử dụng:NukeViet OpenID sử dụng thư viện Janrain OpenID Libraries
Website:
https://github.com/openid/php-openid6. Dành cho người dùng NukeViet:NukeViet hiện đang tích hợp 3 nhà cung cấp OpenID đó là yahoo, google và myopenid
Để chọn NukeViet OpenID cho website của mình, quản trị viên cần thực hiện các bước sau:
1) Mở file openid.php trong thư mục includes/ thực hiện thêm vào: -
$openid_servers['nukeviet'] = array( //
'identity' => 'https://nukeviet.vn/openid/index.php', //
'required' => array( //
'email' => 'contact/email', //
'nickname' => 'namePerson/friendly', //
'fullname' => 'namePerson', //
'gender' => 'person/gender', //
) //
);
2) Thêm logo NukeViet vào theme hiện tại đang dùng.Ví dụ:
themes/default/images/users/nukeviet.gif3) Vào phần quản trị website cấu hình cho phép chấp nhận NukeViet OpenID: -
- Chấp nhận NukeViet OpenID
4) Đăng kí APP trên http://nukeviet.vn:Truy cập địa chỉ
http://nukeviet.vn/vi/openid/ hoặc
http://nukeviet.vn/vi/openid/content/Nếu chưa đăng nhập, hệ thống sẽ yêu cầu đăng nhập sau đó thực hiện đăng kí APP cho website.
Cần khai báo thật chính xác các thông tin:
- Tên APP: tên tùy ý
- Website: Nhập thật chính xác website của bạn, ví dụ
http://webnhanh.vn,
http://vinhthanh.info.vn . Nếu nhập sai, website sẽ không thể sử dụng dịch vụ OpenID
- Hình ảnh: Chọn một ảnh đại diện (48x48) cho APP
- Mô tả: Mô tả về website hoặc APP.
Sau khi đăng kí, APP của bạn sẽ ở trạng thái chờ duyệt, vui lòng chờ đến khi có thông báo APP được duyệt.
Sau khi APP được duyệt, website đăng kí sẽ chính thức được sửa dụng hệ thống NukeViet OpenID.
7. Tài liệu tham khảo:- Randomness Recommendations for Security
ftp://ftp.isi.edu/in-notes/rfc1750.txt- Hypertext Transfer Protocol -- HTTP/1.1
ftp://ftp.isi.edu/in-notes/rfc2616.txt- Extensible Resource Identifier (XRI) Resolution V2.0 - Committee Draft 02
http://www.oasis-open.org/committees/download.php/17293- Extensible Resource Identifier (XRI) Syntax V2.0
http://www.oasis-open.org/committees/download.php/15376- Yadis Specification
http://yadis.org/papers/yadis-v1.0.pdf8. Góp ý và liên hệ:Mọi ý kiến đóng góp xin thảo luận cho NukeViet xin đóng góp tại đây. Liên hệ về các dự án thương mại vui lòng gửi về
VIETNAM OPEN SOURCE DEVELOPMENT JOIN STOCK COMPANY
Add: Room 704 - CT1 Nang Huong Building, 583 Nguyen Trai, Ha Noi.
Tel: (04) 8587 2007 – Fax: (04) 3550 0914
Email:
contact@vinades.vn – Website:
http://www.vinades.vnThảo luận trên diễn đàn tại đây:
http://nukeviet.vn/phpbb/viewtopic.php?f=138&t=19305