Nghiên cứu giao thức OAuth và ứng dụng trong xác thực

57 45 0
Nghiên cứu giao thức OAuth và ứng dụng trong xác thực

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN HỒNG NHUNG NGHIÊN CỨU GIAO THỨC OAUTH VÀ ỨNG DỤNG TRONG XÁC THỰC LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN Hà Nội - 2014 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN HỒNG NHUNG NGHIÊN CỨU GIAO THỨC OAUTH VÀ ỨNG DỤNG TRONG XÁC THỰC Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60480104 LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN HẢI CHÂU Hà Nội - 2014 Lời cam đoan Tôi xin cam đoan công trình nghiên cứu riêng tơi Các số liệu, kết nêu luận văn trung thực chưa cơng bố cơng trình khác Tơi xin kính gửi lời cảm ơn chân thành tới thầy cô trường Đại học Công nghệ, tận tình giảng dạy giúp đỡ tơi suốt thời gian học vừa qua Nhờ thầy cô, tơi tích lũy thêm nhiều kiến thức cho thân kiến thức chuyên môn lẫn kiến thức xã hội Trong q trình hồn thành luận văn, ngồi cố gắng thân, tơi nhận giúp đỡ nhiều từ gia đình, anh chị trước tất bạn bè Tôi xin gửi lời cảm ơn chân thành tới thầy Nguyễn Hải Châu - thầy trực tiếp hướng dẫn, giúp đỡ, bảo tơi nhiệt tình, để tơi hồn thành luận văn cao học Hà Nội, tháng 10 năm 2014 Tác giả Nguyễn Hồng Nhung Mục lục Lời cam đoan Mục lục Danh mục kí hiệu chữ viết tắt Danh mục hình vẽ đồ thị MỞ ĐẦU Chương TỔNG QUAN VỀ XÁC THỰC 1.1 Khái niệm 1.2 Các phương thức xác thực 1.2.1 Xác thực dựa theo tri thức 10 1.2.2 Xác thực dựa theo sở hữu 10 1.2.3 Xác thực dựa theo sinh trắc học 10 1.3 Các giao thức xác thực 10 Chương GIAO THỨC XÁC THỰC OAUTH VÀ OPENID 13 2.1 Giao thức xác thực OAuth 13 2.1.1 Khái niệm .13 2.1.2 Ứng dụng 14 2.1.3 Cách thức hoạt động 14 2.2 Giao thức OpenID .17 2.2.1 Khái niệm .17 2.2.2 Cách thức hoạt động 17 2.3 Sự khác biệt OAuth OpenID 19 2.4 Sự khác biệt OAuth với số giao thức xác thực người dùng khác 20 Chương XÂY DỰNG ỨNG DỤNG KẾT NỐI FACEBOOK THÔNG QUA GIAO THỨC OAUTH .22 3.1 Mạng xã hội Facebook 22 3.1.1 Giới thiệu 22 3.1.2 Ứng dụng Facebook .22 3.1.3 Facebook API .23 3.1.4 Cách đăng kí ứng dụng Facebook 27 3.2 Phát triển ứng dụng với Drupal 30 3.2.1 Giới thiệu Drupal 30 3.2.2 Cách xây dựng module cho Drupal 31 3.2.2.1 Các khái niệm .31 3.2.2.2 Các bước xây dựng module 33 3.2.3 Cách quản lý người dùng Drupal 42 3.3 Xây dựng ứng dụng kết nối Facebook dựa giao thức OAuth 44 3.3.1 Môi trường thực nghiệm ứng dụng 44 3.3.2 Xây dựng thiết lập chức Login/Register cho Drupal thông qua tài khoản Facebook .44 3.3.3 Xây dựng thiết lập chức cho phép người dùng chia sẻ liên kết lên tường Facebook từ Drupal 50 KẾT LUẬN 56 TÀI LIỆU THAM KHẢO .57 Danh mục kí hiệu chữ viết tắt Từ viết tắt Cụm từ đầy đủ API Application Programming Interface CHAP Challenge-Handshake Authentication Protocol CMF Content management framework CMS Content management system EAP Extensible Authentication Protocol FB Facebook FBML Facebook Markup Language FQL Facebook Query Language LAMP Linux+Apache+MySql+PHP IdP Identity Provider OAuth Open Authentication PAP Password Authentication Protocol PIN Personal Identification Number RADIUS Remote Authentication Dial-In Use Service RP Relying Party URI Uniform Resource Identifier URL Uniform Resource Locator Danh mục hình vẽ đồ thị Hình 1.1 Phân loại phương thức xác thực Hình 2.1 Ví dụ cách OAuth 2.0 sử dụng để chia sẻ liệu .13 Hình 2.2 Hoạt động 3-legged OAuth .16 Hình 2.3 Hoạt động 2-legged OAuth .16 Hình 2.4 Cách hoạt động OpenID 19 Hình 2.5 Sự khác biệt việc sử dụng OAuth so với OpenID 20 Hình 3.1 Hộp thoại đa phương thức .25 Hình 3.2 Cách thức hoạt động Facebook API .26 Hình 3.3 Tạo ứng dụng Facebook 28 Hình 3.4 Điền thơng tin ứng dụng Facebook .28 Hình 3.5 Kiểm tra bảo mật 28 Hình 3.6 Trang quản lý ứng dụng 29 Hình 3.7 Cơng khai ứng dụng Facebook 30 Hình 3.8 Minh họa giao diện hiển thị tên module 34 Hình 3.9 Danh sách quyền Drupal 43 Hình 3.10 Cách hoạt động oafb .45 Hình 3.11 Trang cấu hình module oafb 46 Hình 3.12 Cách hoạt động ShareFB 50 Hình 3.13 Giao diện Drupal sau cài đặt module oafb ShareFB 53 Hình 3.14 Trang xác thực Facebook 54 Hình 3.15 Trang cá nhân người dùng Drupal 54 Hình 3.16 Ứng dụng chia sẻ liên kết 55 Hình 3.17 Tường Facebook người dùng 55 MỞ ĐẦU Với phát triển nhanh chóng hệ thống mạng ứng dụng thương mại điện tử, nhu cầu bảo mật máy tính hiệu ngày tăng Hầu hết hệ thống máy tính bảo vệ thơng qua q trình nhận dạng người dùng xác thực Trong nhận dạng, người dùng cung cấp thơng tin để xác định mình, thơng tin biết đến quản trị hệ thống người sử dụng hệ thống khác, cịn với xác thực người dùng phải cung cấp thơng tin cá nhân bí mật để xác nhận danh tính Có nhiều giao thức, phương pháp kĩ thuật xác thực khác Trong luận văn này, tập trung nghiên cứu giao thức OAuth, từ xây dựng ứng dụng thử nghiệm đăng ký xác thực người dùng Web sử dụng giao thức OAuth qua tài khoản Facebook; cho phép người dùng chia sẻ liên kết lên tường Facebook Luận văn gồm nội dụng sau: Mở đầu: Giới thiệu đề tài luận văn, ý nghĩa tính khả thi đề tài Chương Tổng quan xác thực: Trình bày khái niệm, phương thức giao thức xác thực Chương Giao thức xác thực OAuth OpenID: Trình bày khái niệm cách thức hoạt động giao thức OAuth OpenID Chương Xây dựng ứng dụng kết nối Facebook thông qua giao thức OAuth: Trình bày vấn đề liên quan đến việc cài đặt triển khai ứng dụng Kết đạt chạy thử Kết luận: Trình bày tóm tắt kết đạt Hướng mở rộng, phát triển hệ thống Chương TỔNG QUAN VỀ XÁC THỰC Xác thực phần thiếu kiến trúc bảo mật hệ thống Chương cung cấp nhìn tổng quan xác thực, phân loại phương thức xác thực theo đặc điểm sử dụng giới thiệu số giao thức xác thực 1.1 Khái niệm [11] Xác thực (Authentication) hành động nhằm chứng thực (hoặc người đó) đáng tin cậy, nghĩa lời khai báo người đưa vật thật Xác thực đối tượng cịn có nghĩa cơng nhận nguồn gốc đối tượng, khi, xác thực người thường thẩm tra nhận dạng họ Xác thực liên quan đến nhiều lĩnh vực khoa học máy tính, xác thực q trình mà hệ thống xác minh danh tính người dùng muốn truy cập vào nó, để đảm bảo quyền truy cập vào hệ thống hay liệu bí mật Xác thực thực thẻ thông minh, Authentication Server sở hạ tầng khóa cơng khai thơng dụng sử dụng tài khoản với tên người dùng mật Xác thực điều cần thiết để bảo mật hệ thống hiệu 1.2 Các phương thức xác thực [9] Các phương thức xác thực phân thành loại theo đặc điểm chúng sử dụng hình 1.1 Hình 1.1 Phân loại phương thức xác thực 10 1.2.1 Xác thực dựa theo tri thức Đây phương thức sử dụng rộng rãi trở nên quen thuộc với người dùng Phương thức sử dụng mật dãy kí tự: từ, cụm từ hay câu; mật hình ảnh, nhận dạng khuân mặt hay sử dụng mã số cá nhân (PINs) Đối với mạng công cộng không bảo đảm, để xác thực chứng thư số chữ kí số sử dụng 1.2.2 Xác thực dựa theo sở hữu Xác thực dựa theo sở hữu (hay xác thực dựa theo thẻ) dựa vào mà người dùng có, chủ yếu đối tượng vật lý, chẳng hạn thẻ Tồn phương thức thẻ không chứng minh quyền sở hữu dễ dàng bị đánh cắp nhân đôi phương tiện gian lận tinh vi Thẻ nhớ sản xuất không tốn Sử dụng thẻ nhớ với chế xác thực dựa tri thức chẳng hạn mã PIN bảo mật nhiều so với việc dùng thẻ hay mã PIN đơn lẻ 1.2.3 Xác thực dựa theo sinh trắc học Đây phương thức dựa đặc điểm sinh lý hay hành vi người dùng, thuộc tính vật lý ổn định họ như: vân tay, võng mạc, khuân mặt, giọng nói, loại máu, chi tiết sinh học nhỏ thể người dùng… Phương thức đem lại hiệu bảo mật cao khơng dễ dàng bị đánh cắp chia sẻ, nhiên khơng sử dụng phổ biến chủ yếu sử dụng hệ thống với mức độ bảo mật cao vì: - Tốn kém: yêu cầu phần cứng đặc biệt - Được cho xâm lấn quyền riêng tư - Có thể bị phân tích lần bị đánh cắp khơng thể sử dụng 1.3 Các giao thức xác thực [11] Giao thức xác thực loại giao thức mã hóa với mục đích chứng thực thực thể có nhu cầu giao tiếp an tồn Hiện có nhiều giao thức xác thực sử dụng như: PAP, CHAP, EAP, RADIUS, HIP, KERBEROS, PEAP  Giao thức PAP (Password Authentication Protocol): giao thức xác thực đơn giản, tên người dùng mật gửi đến máy chủ truy cập từ xa dạng rõ để xác thực Sử dụng PAP khơng an tồn mật dễ dàng đọc từ gói tin trao đổi q trình xác thực Vì PAP thường 43 Để xem danh sách quyền, tới People -> Permission nhấn Permissions Hình 3.9 Danh sách quyền Drupal  Đăng kí đăng nhập người dùng Drupal cho phép người dùng đăng kí, đăng nhập đăng xuất khỏi Với người dùng mới, muốn làm thành viên Drupal phải đăng kí trực tiếp, cách cung cấp tên tài khoản e-mail hợp lệ gián tiếp thông qua dịch vụ bên thứ ba Google, Facebook Tất e-mail từ hệ thống gửi đến địa Địa e-mail không công khai sử dụng người dùng muốn nhận mật mới, nhận tin tức thông báo qua email Đi tới Configuration -> Account settings, chọn ba tùy chọn đăng ký cho thành viên trang web: - Only people invited by an administrator: Chỉ cho phép người mời quản trị viên đăng ký - Visitors: khách đăng ký tự động trở thành thành viên trang web đăng nhập 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ý trở thành thành viên trang web họ bị chặn, tức họ đăng nhập truy cập nội dung giới hạn cho người dùng có vai trị Authenticated chấp thuận Administrator Có thể chặn bỏ chặn hoạt động người dùng Drupal cách thay đổi giá trị thuộc tính Status trang thông tin người dùng thành Active 44 Blocked Người dùng muốn đăng nhập vào Drupal phải xác thực cách cung cấp tên người dùng mật mà họ đăng ký với Drupal, thông qua OpenID họ thông qua dịch vụ đăng nhập bên thứ ba - phương pháp an toàn tùy chọn để đăng nhập vào nhiều trang web với tên người dùng mật 3.3 Xây dựng ứng dụng kết nối Facebook dựa giao thức OAuth 3.3.1 Môi trường thực nghiệm ứng dụng *) Máy chủ LAMP: chạy hệ điều hành Ubuntu 12.04, cài đặt chương trình mã nguồn mở phổ biến sau: Máy chủ phục vụ web: Apache/2.2.22 (Ubuntu) Hệ quản trị sở liệu: MySql 5.5.38-0ubuntu0.12.04.1 Ngơn ngữ lập trình PHP 5.3.10-1ubuntu3.13; *) Drupal 7.31: khung sườn phát triển ứng dụng web, hệ thống quản trị nội dung miễn phí mã nguồn mở *) FaceBook API: tảng hãng facebook cung cấp để xây dựng ứng dụng cho thành viên mạng xã hội Facebook 3.3.2 Xây dựng thiết lập chức Login/Register cho Drupal thông qua tài khoản Facebook Thông thường người dùng không muốn chia sẻ tài khoản email thông tin cá nhân họ với trang web mạng Internet thời gian cho việc đăng ký lý bảo mật Một cách hiệu hơn, trang web tận dụng dịch vụ đăng nhập bên thứ ba Google, Facebook hay Twitter Cộng đồng mạng cung cấp số module như: drupal for facebook, facebook connect, facebook oauth với nhiều chức có chức đăng nhập đăng ký tài khoản người dùng Drupal thông qua Facebook Ở xây dựng module với chức đơn giản để hiểu chế xác thực giao thức OAuth  Tên module: oafb  Chức module: - Cho phép người dùng đăng nhập vào Drupal thông qua tài khoản mật Facebook họ 45 - Nếu địa email người dùng tìm thấy sở liệu Drupal người dùng tự động đăng nhập Ngược lại, tài khoản tạo Drupal với địa email người dùng 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” để đặt vị trí tùy ý trang Drupal - Đối tượng sử dụng nút bấm người dùng chưa xác thực “Anonymous Users” - Cách hoạt động module minh họa sơ đồ hình 3.10: Login/Register via FB Đăng nhập Facebook Rồi Chưa Hủy Index page Xác thực Facebook Đồng ý Email Verification Đã có Chưa có Lấy liệu từ Facebook Redirect Thêm liệu vào bảng User Redirect User page Hình 3.10 Cách hoạt động oafb 46  Xây dựng module: a File oafb.info: Chứa thông tin module name = oafb description = "Cho phep nguoi dung dang ki/dang nhap thong qua tai khoan Facebook" core = 7.x dependencies[] = libraries configure = admin/config/people/oafb Khai báo dependencies cho biết module oafb phụ thuộc vào module libraries Muốn module hoạt động người quản trị phải cài đặt bật module libraries Khai báo configure cho biết đường dẫn tới trang cấu hình oafb cho quản trị viên Drupal điền vào thông số: App ID App Secret hình 3.11 Trang cấu hình dành cho quản trị viên viết file oafb.admin.inc Hình 3.11 Trang cấu hình module oafb b File oafb.module: File triển khai hook_block_view() với $block[content] = drupal_get_form('oafb_form'); Hàm oafb_form() để tạo nút bấm “Login/Register via FB” 47 nút bấm gọi hàm gọi lại oafb_login thơng qua liên kết user/oafb định nghĩa hook_menu() Tạo nút bấm: $form['submit'] = array( '#type' => 'button', '#value' => t('Login/Register via FB') ); $form['#action'] = url('user/oafb'); Định nghĩa menu liên kết đến hàm gọi lại: $items['user/oafb'] = array( 'title' => 'Login/Register via FB', 'page callback' => 'oafb_login', 'access callback' => 'user_is_anonymous', ); Hàm gọi lại oafb_login() hoạt động hình 3.8 Trong đó: - Kiểm tra AppID ứng dụng thiết lập chưa trước thực lệnh khác dựa vào việc kiểm tra oafb_appid trang cấu hình module if (!variable_get('oafb_appid', 0)) - Nếu module cấu hình đầy đủ tiến hành kiểm tra xem người dùng đăng nhập Facebook hay chưa thông qua giá trị biến $fb_user sau gọi hàm lấy đối tượng Facebook: $facebook = facebook_client(); $fb_user = $facebook->getUser(); - Nếu người dùng đăng nhập Facebook tiến hành kiểm tra email người dùng, email có bảng user sở liệu Drupal cho phép đăng nhập, chưa có tạo tài khoản người dùng cho Drupal if ($fb_user) { $fb_user_profile = $facebook->api('/me'); if (isset($fb_user_profile['email'])) { $query = db_select('users', 'u'); $query->condition('u.mail', check_plain ($fb_user_profile['email'])); $query->fields('u', array('uid')); $query->range(0, 1); $drupal_user_id = 0; $result = $query->execute(); foreach ($result as $record) { 48 $drupal_user_id = $record->uid; } if ($drupal_user_id) { $user_obj = user_load($drupal_user_id); if ($user_obj->status) { $form_state = array(); $form_state['uid'] = $user_obj->uid; user_login_submit(array(), $form_state); drupal_set_message(t('Ban da dang nhap voi ten !username', array('!username' => $user_obj->name))); drupal_goto('user'); } else { drupal_set_message(t('Tai khoan cua ban da bi khoa'), 'error'); drupal_goto('user'); } } else { //tao tai khoan nguoi dung moi cho drupal $fb_username = (isset($fb_user_profile['username']) ? $fb_user_profile['username'] : $fb_user_profile['name']); $drupal_username_generated = oafb_unique_user_name(check_plain($fb_username)); $password = user_password(8); $fields = array( 'name' => $drupal_username_generated, 'mail' => check_plain($fb_user_profile['email']), 'pass' => $password, 'status' => 1, 'init' => 'email address', 'roles' => array( DRUPAL_AUTHENTICATED_RID => 'authenticated user', ), ); //luu tai khoan nguoi dung $account = user_save('', $fields); 49 $form_state = array(); $form_state['uid'] = $account->uid; user_login_submit(array(), $form_state); drupal_set_message(t('Ban da dang ki tai khoan voi ten !username', array('!username' => $account>name))); drupal_goto("user"); } } - Nếu người dùng chưa đăng nhập ta tạo URL đăng nhập Facebook chuyển hướng người dùng: $scope_string = ''; if (sizeof(module_implements('oafb_scope_info')) > 0) { $scopes = module_invoke_all('oafb_scope_info', array()); $scope_string = implode(',', $scopes); } $scope_string = ',email'; $login_url_params = array( 'scope' => $scope_string, 'fbconnect' => 1, 'redirect_uri' => url('/user/oafb/1', array('absolute' => TRUE)) ); $login_url = $facebook-> getLoginUrl ($login_url_params); drupal_goto($login_url); Hàm lấy đối tượng Facebook: function facebook_client() { static $fb = NULL; if (is_null($fb)) { if (oafb_facebook_client_load_include()) { $init_params = array( 'appId' => variable_get('oafb_appid', ''), 'secret' => variable_get('oafb_skey', ''), ); $fb = new Facebook($init_params); } 50 } return $fb; } 3.3.3 Xây dựng thiết lập chức cho phép người dùng chia sẻ liên kết lên tường Facebook từ Drupal Người chia sẻ liên kết kèm theo bình luận lên tường Facebook Với module ShareFB, người dùng không cần phải cho phép ứng dụng Facebook, đơn giản, họ cần đăng nhập Facebook làm điều  Tên module: ShareFB  Chức năng: Cho phép người dùng chia sẻ liên kết post bình luận node Drupal lên tường Facebook  Ý tưởng thiết kế:  Hiển thị nút bấm cuối node Cho phép chia sẻ số thông tin nút như: link, title, body, caption, image  Cách thức hoạt động: ShareFB Đăng nhập FB Rồi Chưa Hủy Xác thực với FB Ứng dụng chia sẻ liên kết Trang Drupal Hình 3.12 Cách hoạt động ShareFB  Xây dựng module: 51 - File: ShareFB.info Chứa thông tin module ShareFB: name = "ShareFB" description = "Cho phep chia se lien ket va dang tin len tuong Facebook" core = 7.x - File: ShareFB.module Chứa hook, hàm giúp module hoạt động * Hook init() function ShareFB_init() { drupal_add_css(drupal_get_path('module', 'ShareFB') '/ShareFB.css'); } * File ShareFB.css để trình bày nút: ShareFB-box { float: right; clear: right; } * Hook_node_view() function ShareFB_node_view($node, $view_mode = 'full') { // Lay dia chi cua nut $url = url('node/' $node->nid, array('absolute' => TRUE)); // Dinh dang nut $node->content['ShareFB'] = array( '#markup' => theme('ShareFB', array('url' => $url)), ); } * Hook_theme() function ShareFB_theme($existing, $path) { return array( 'ShareFB' => array( $type, $theme, 52 'variables' => array( 'url' => NULL, ), ), 'ShareFB_button' => array( 'variables' => array( 'url' => NULL, ), ), ); } * Theme cho ShareFB button box function theme_ShareFB($variables) { $url = $variables['url']; $output = ''; $output = theme( 'ShareFB_button', array( 'url' => $url, ) ); $output = ''; return $output; } * Theme cho nút ShareFB function theme_ShareFB_button($variables) { $url = $variables['url']; $output = '' ''; return $output; } Thẻ để tạo liên kết đến ứng dụng chia sẻ Facebook lưu trữ Facebook, giúp người dùng đăng liên kết bình luận node cụ thể Drupal lên tường Facebook 53 Thẻ đến thành phần JavaScript cung cấp hỗ trợ Facebook để chạy ứng dụng chia sẻ sau chuyển hướng trình duyệt trang Drupal  Cài đặt, cấu hình sử dụng Hai module oafb ShareFB phải đặt thư mục sites/all/modules cài đặt Drupal Hoạt động module oafb phụ thuộc vào module libraries, module libraries phải cài đặt bật lên Quản trị viên cần phải cấu hình module oafb hình 3.11 với App ID App Secret ứng dụng họ đăng ký với Facebook Module ShareFB hoạt động sau cài đặt Sau cài đặt cấu hình hai module oafb ShareFB, giao diện trang Drupal thể hình 3.13 Hình 3.13 Giao diện Drupal sau cài đặt module oafb ShareFB Khi người dùng bấm nút “Login/Register via FB”, người dùng chưa đăng nhập Facebook trang xác thực Facebook gọi 54 Hình 3.14 Trang xác thực Facebook Khi xác thực Facebook thành công, người dùng chuyển hướng trang cá nhân Drupal họ Hình 3.15 Trang cá nhân người dùng Drupal Nếu người dùng đăng nhập Facebook trang xác thực Facebook khơng hiển thị mà người dùng chuyển hướng tới trang cá nhân Drupal họ 55 Khi người dùng bấm nút , người dùng chưa đăng nhập Facebook trang xác thực Facebook gọi Nếu người dùng đăng nhập Facebook ứng dụng chia sẻ liên kết Facebook gọi Người dùng thêm bình luận, chọn nơi chia sẻ liên kết, cho phép người thấy nội dung Các thông tin xuất tương ứng với lựa chọn người dùng Hình 3.16 Ứng dụng chia sẻ liên kết Hình 3.17 Tường Facebook người dùng 56 KẾT LUẬN Với thời gian nghiên cứu khơng dài, song luận văn trình bày ngắn gọn vấn đề xác thực, giao thức xác thực phổ biến cho ứng dụng web OAuth, OpenId khác hai giao thức Trên sở hiểu biết Facebook Drupal Luận văn xây dựng thành công hai module cho Drupal với chức năng: cho phép người dùng đăng nhập đăng kí tài khoản Drupal từ tài khoản Facebook; cho phép họ chia sẻ liên kết, đăng bình luận lên tường Facebook Nếu có nhiều thời gian hơn, luận văn tiếp tục hoàn thiện module cho phép người dùng đăng nhập/đăng kí thơng qua tài khoản xã hội khác như: Google, Twitter, Xây dựng module cho phép người dùng upload tài liệu vào Google Docs Dropbox từ Drupal Phát triển Drupal thành website hồn chỉnh nội dung lẫn hình thức 57 TÀI LIỆU THAM KHẢO Tiếng Việt Trần Văn Lễ (2012), Phát triển ứng dụng kết nối Facebook sở giao thức OAuth (Open Authentication), Luận văn thạc sĩ, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội Tiếng Anh Jay Goldman (10-2008), Facebook Cookbook, Publisher: O’Reilly Media Matt Butcher (2008), Learning Drupal Module Development PACKT Publishing Matt Butcher, Matt Farina, Ken Rickard, Greg Dunlap, Larry Garfield, John Albin Wilkins (2010), Drupal Module Development PACKT Publishing Richard Duncan (2001), An Overview of Different Authentication Methods and Protocols, Copyright SANS Institute, Author Retains Full Rights Ryan Boyd (2012), Getting Started with OAuth 2.0, Publisher: O’Reilly Media Smith, R E (2002), Authentication: From passwords to public keys, Boston: Addison-Wesley Shashwat Srivastava, Apeksha Singh (2011), Facebook Development with Graph API Cookbook PACKT Publishing Application Zippy Erlich, Moshe Zviran (2009), Authentication methods for Computer Systems Security, Category: IT Security & Ethics 10 Wayne Graham (2008), Facebook API Developers Guide, Publisher: Apress 11 http://en.wikipedia.org 12 http://groups.drupal.org 13 http://oauth.net 14 http://tutorials.jenkov.com/oauth2 15 http://www.comptechdoc.org 16 http://www.ibm.com/us/en/ 17 http://www.windley.com 18 https://www.facebook.com/

Ngày đăng: 23/09/2020, 22:10

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan