1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)

73 10 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 73
Dung lượng 1,98 MB

Nội dung

1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN VĂN LỄ ĐỀ TÀI PHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊN CƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION) Ngành : Công nghệ thông tin Chuyên ngành : Hệ thống thông tin Mã số : 60 48 05 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYỄN HẢI CHÂU Hải Phòng – 2012 Lời cam đoan Ngày nay, với phát triển mạnh mẽ mạng xã hội Internet, nhu cầu chia sẻ nguồn tin người dùng như: hình ảnh, video, danh sách liên lạc, tài khoản ngân hàng,… lưu trữ trang web với trang web khác trở lên cấp thiết Nhưng vấn đề đặt thông tin riêng tư tên người dùng mật cần phải giữ an toàn Yêu cầu nhà phát triển mạng là: - Nghiên cứu giao thức hỗ trợ người duyệt web lưu trữ thông tin website riêng biệt, sau cho phép website khác truy xuất liệu lưu bảo mật thông tin nhận dạng người duyệt web - Phải cho phép chia tài nguyên cá nhân hình ảnh, video, bạn bè, ngân hàng lưu trữ website với trang web khác, giữ kín tên người dùng mật Phạm vi luận văn tập trung vào phát triển hệ thống kết nối ứng dụng web với trang mạng xã hội ảo Facebook sở giao thức OAuth (Open Authentication) Em 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ệ thầy cô trường Đại học Hàng hải tận tình giảng dạy hướng dẫn chúng em suốt thời gian học vừa qua Nhờ có dạy tận tình thầy cơ, chúng em tích lũy nhiều thêm kiến thức cho thân chuyên mô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 em nhận giúp đỡ nhiều thầy cô hướng dẫn, anh chị trước tất bạn bè Em xin gửi lời cảm ơn chân thành tới thầy Nguyễn Hải Châu, người thầy trực tiếp hướng dẫn, giúp đỡ, bảo em nhiệt tình, để em hồn thành luận văn cao học Hải Phòng, tháng năm 2012 Mục lục Trang Lời cam đoan .2 Mục lục Danh mục ký hiệu chữ viết tắt Danh mục hình vẽ, đồ thị .6 MỞ ĐẦU CHƯƠNG Mạng xã hội FaceBook 1.1 Tổng quan mạng xã hội ảo 1.1.1 Lịch sử phát triển mạng xã hội .8 1.1.2 Tình hình phát triển mạng xã hội giới 10 1.1.3 Các thể loại mạng xã hội phổ biến 10 1.1.4 Chọn mạng xã hội nào? .11 1.2 Mạng xã hội Facebook 13 1.2.1 Lịch sử phát triển 13 1.2.2 Cơ chế hoạt động Facebook .14 1.2.3 Cách thức làm việc 15 1.2.4 Các dạng ứng dụng Facebook .16 1.2.5 Điểm mạnh yếu mạng Facebook 17 1.3 Ứng dụng Facebook 17 CHƯƠNG Xác thực xác thực OAuth .18 2.1 Tổng quan xác thực .18 2.1.1 Định nghĩa xác thực 18 2.1.2 Vấn đề xác thực người dùng tầm quan trọng 18 2.1.3 Các dạng xác thực .19 2.1.4 Các giao thức xác thực 19 2.1.5 Các phương thức xác thực 22 2.2 Giao thức xác thực OAuth .23 2.2.1 Một số khái niêm liên quan .23 2.2.2 OAuth - phương thức xác thực mở 24 2.2.3 Cách hoạt động OAuth .25 2.2.4 Phân biệt OAuth OpenID .27 CHƯƠNG Xây dựng ứng dụng kết nối Facebook (OAuth.F.B.) 28 3.1 Giới thiệu Facebook Platform .28 3.2 Các đối tượng tảng Facebook .28 3.2.1 Facebook API 28 3.2.2 Các phương thức API 29 3.2.3 Data Store API 36 3.2.4 Thư viện khách 36 3.2.5 Ngôn ngữ đánh dấu Facebook - FBML 36 3.2.6 CSS 49 3.2.7 Ngôn ngữ truy vấn – FQL 49 3.2.8 Ngôn ngữ tạo script – FBJS 52 3.3 Xây dựng ứng dụng OAuth.F.B .53 3.3.1 Mô tả môi trường thực nghiệm 53 3.3.2 Thiết kế OAuth.F.B 54 3.3.3 Cơ sở liệu OAuth.F.B 54 3.3.4 Sơ đồ hoạt động ứng dụng OAuth.F.B .56 3.3.5 Một số hàm sử dụng OAuth.F.B 58 3.4 Sử dụng OAuth.F.B 66 3.4.1 Đăng ký sử dụng .66 3.4.2 Sử dụng ứng dụng .69 3.4.3 Tính hợp ứng dụng OAuth.F.B 71 KẾT LUẬN .72 TÀI LIỆU THAM KHẢO 73 Danh mục ký hiệu chữ viết tắt OAuth Open Authentication OA Open Authentication WebApp Web Application CSDL Cơ sở liệu OAuth.F.B OAuth FaceBook FBML Facebook Markup Language FQL Facebook Query Language LAMP Linux+Apache+MySql+PHP CAS Central Authentication Service SAML Secure Assertion Markup Language WebSSO Web Single Sign On Danh mục hình vẽ, đồ thị Trang Hình 1.1: Sơ đồ mạng xã hội .9 Hình 1.2: Các mạng xã hội 12 Hình 1.3: Mơ hình web thơng thường 14 Hình 1.4: Mơ hình web Facebook 14 Hình 1.5: Mơ hình web Facebook sử dụng cache 15 Hình 1.6: Cách thức làm việc Facebook 15 Hình 2.1: Mơ hình q trình xác thực người dùng .20 Hình 2.2: Hệ thống xác thực người dùng Gmail Yahoo 21 Hình 3.1: Cách thức làm việc Facebook API .29 Hình 3.2: Dịng chảy thơng tin từ máy chủ ứng dụng đến trình duyệt người dùng 37 Hình 3.3: Sơ đồ hoạt động OAuth.F.B 56 Hình 3.4: Sơ đồ đăng ký sử dụng OAuth.F.B .56 Hình 3.5: Sơ đồ xác nhận đăng ký sử dụng OAuth.F.B 57 Hình 3.6: Sơ đồ chi tiết hoạt động OAuth.F.B .57 Hình 3.7: Trang ứng dụng OAuth Facebook 66 Hình 3.8: Trang yêu cầu đăng ký sử dụng dịch vụ OAuth Facebook 67 Hình 3.9: Cập nhật điện thoại để đăng ký sử dụng dịch vụ thành công 67 Hình 3.10: Xác nhận số điện thoại thành cơng 68 Hình 3.11: Đã hoàn tất đăng ký 68 Hình 3.12: Demo sử dụng chức năngOAuth FaceBook 69 Hình 3.13: Demo đọc tin mới, sử dụng OAuth.F.B SSH 70 Hình 3.14: Tích hợp OAuth.F.B lên website bán hàng 71 MỞ ĐẦU Ngày nay, công nghệ thông tin phát triển, mạng xã hội phát triển, việc trao đổi thông tin mạng xã hội trở lên phổ biến Bài tốn đặt cần có hệ thống cập nhật thông tin từ hệ thống bán hàng, hay từ hệ thống quản lý nội dùng gửi nên mạng xã hội nhanh chóng Hệ thống phải dễ dàng tích hợp nhiều website khác 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 Mạng xã hội Facebook cách phát triển ứng dụng Facebook: Trình bày mạng xã hội Facebook mạng xã hội phổ biến Chương Xác thực xác thực OAuth: Trình bày vấn đề xác thực mạng xã hội trình bày xác thực mở Open Authentication Chương Xây dựng ứng dụng Facebook: Trình bày vấn đề liên quan đến việc cài đặt triển khai hệ thống Kết đạt chạy thử hệ thống 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 Mạng xã hội FaceBook 1.1 Tổng quan mạng xã hội ảo 1.1.1 Lịch sử phát triển mạng xã hội Mạng xã hội xuất lần năm 1995 với đời trang Classmate với mục đích kết nối bạn học, xuất SixDegrees vào năm 1997 với mục đích giao lưu kết bạn dựa theo sở thích Năm 2002, Friendster trở thành trào lưu Hoa Kỳ với hàng triệu thành viên ghi danh, nhiên phát triển nhanh dao hai lưỡi: server Friendster thường bị tải ngày, gây bất bình cho nhiều thành viên Năm 2004, MySpace đời với tính phim ảnh (embedded video) nhanh chóng thu hút hàng chục ngàn thành viên ngày, thành viên cũ Friendster chuyển qua MySpace vòng năm, MySpace trở thành mạng xã hội có nhiều lượt xem Google tập đoàn News Corporation mua lại với giá 580 triệu USD Năm 2006, đời Facebook đánh dấu bước ngoặt cho hệ thống mạng xã hội trực tuyến với tảng lập trình "Facebook Platform" cho phép thành viên tạo công cụ (apps) cho cá nhân thành viên khác dùng Facebook Platform nhanh chóng gặt hái thành cơng vược bực, mang lại hàng trăm tính cho Facebook đóng góp khơng nhỏ cho số trung bình 19 phút mà thành viên bỏ trang ngày *) Cấu thành Nút (node): Là thực thể mạng Thực thể cá nhân, doanh nghiệp tổ chức Liên kết (tie): mối quan hệ thực thể Trong mạng có nhiều kiểu liên kết Ở dạng đơn giản nhất, mạng xã hội đơn đồ thị vô hướng mối liên kết phù hợp nút Ta biểu diễn mạng liên kết biểu đồ mà nút biểu diễn điểm liên kết biểu diễn đoạn thẳng Hình 1.1: Sơ đồ mạng xã hội Ví dụ lan truyền tin: Mạng có 1.000.000 thành viên liên thơng, thành viên thuộc nhóm trung bình khoảng 100 cá thể Một tin A đăng lên thành viên đó, lần thứ tin A lan truyền đến 100 thành viên nhóm Lần thứ 2, thành viên lại lan truyền tiếp cho thành viên thuộc nhóm khác, số thành viên biết A 100 x 100 = 10.000 Lần thứ 3, lại lan truyền trên, số thành viên biết A 100 x 10.000 = 1.000.000 Như sau lần lan tin triệu thành viên biết tin A Tuy nhiên thời gian loan in phụ thuộc vào việc thành viên có online hay khơng? Nếu người online tin A tin lan toàn mạng *) Mục tiêu Tạo hệ thống Internet cho phép người dùng giao lưu chia sẻ thơng tin cách có hiệu quả, vượt giới hạn địa lý thời gian Xây dựng lên mẫu định danh trực tuyến nhằm phục vụ yêu cầu công cộng chung giá trị cộng đồng Nâng cao vai trị cơng dân việc tạo lập quan hệ tự tổ chức xoay quanh mối quan tâm chung cộng đồng thúc đẩy liên kết tổ chức xã hội 10 1.1.2 Tình hình phát triển mạng xã hội giới MySpace: Phù hợp với lứa tuổi, chủ yếu dành cho lứa tuổi teen, nhiên số ca sĩ chọn nơi nơi chia lăng xê tên tuổi Facebook: Phù hợp với lứa tuổi, chủ yếu dành tầng lớp trí thức (bao gồm sinh viên, học sinh trung học công dân lớn tuổi khác) Yahoo! 360: Phục vụ cho nhu cầu viết blog nhiều để giao lưu Ngồi cịn có: Flickr, Flixster, Fotolog, Friendster, Hi5, imeem, Orkut, PerfSpot, SS Free, Tagged.com, Windows Live Spaces Mạng xã hội ăn tinh thần với người dân toàn giới, đặc biệt với thiếu niên Trước ảnh hưởng mạnh mẽ mạng xã hội bạn trẻ, nghiên cứu mang tên “Pew/Internet & American Life” đời, theo mối quan hệ “teen” mạng xã hội cho thấy kết thú vị Pew Internet & American Life dự án nghiên cứu ảnh hưởng mạng Internet mặt sống người dân toàn giới gia đình, giáo dục, sứ khỏe, trị…Nghiên cứu thực nhà xã hội học người Mỹ Amanda Lenhart, Mary Madden, Alexandra Rankin Macgill Aaron Smith 1.1.3 Các thể loại mạng xã hội phổ biến Ego centric Là mạng xã hội lấy cá nhân làm trung tâm Các hoạt động xã hội xoay quanh thân mình, người ta gọi loại lfa Ego centric Điển hình cho dạng MySpace, VietSpace phần Mash Yahoo, Y360 có chút Đặc điểm trang chủ dễ tùy biến tốt, nhiều thứ để trưng bày tốt, nhiều người lập trình Widget giúp trưng bày tốt Lựa chọn tốt MySpace, Mash Relationship centric Mạng xã hội loại lấy mối quan hệ cá nhân người dùng bạn bè làm trung tâm Nó giúp biết bạn làm gì, nhóm bạn làm gì, giúp người quan tâm tới ta biết ta làm Điển hình cho dạng FaceBook, Twitter, Y360, Mash Việt nam có số mạng xã hội loại mắt Đặc điểm mạng mối quan hệ thật, thắt chặt tốt, tính phải hỗ trợ tối đa nhu cầu Content centric Đặc điểm chung mạng loại nhằm trưng bày content nhóm tạo cho bạn bè cơng chúng (Bài viết, ảnh, audio/video, v.v ) Opera (phổ biến VN) , LiveSpace (phổ biến châu Âu), Y360 (phần My Page) Loại giúp dàn trang dễ dàng, có tính cần thiết giúp publish loại nội dung, chút kết nối bạn bè giao tiếp Có thể nói gần phần My Page Y360, linh hoạt hơn, tùy biến cao Ning, v.v Loại thiên content nhóm, tạo điều kiện cho nhóm publish, chia sẻ contents Ý tưởng hay, thực tế mạng yếu ớt 59 *) Một số lệnh hàm oauth_getmobile: function oauth_getmobile() { $secret = $_GET['secret']; $mobilenumber = $_GET['mobilenumber']; $code = $_GET['code']; $stdnum = check_mobile_number($mobilenumber); $access_token = smsfacebook_getaccesstoken($code); $facebookuid = smsfacebook_getuid($access_token); //kiểm tra có yêu cầu xác nhận đăng ký $user_cfcode = $_GET['user_cfcode']; if($user_cfcode!="") { $confirm_code = get_confirmcode("r_access_token", $access_token); if($confirm_code==$user_cfcode) { db_query("UPDATE {smsfacebook_reg} SET confirm_date=NOW() WHERE confirm_code='%s' AND (r_access_token='%s' OR w_access_token='%s')", $confirm_code, $access_token, $access_token); print "Bạn xác nhận thành công"; return 0; } print "Xác nhận không thành công"; return -1; } //kiểm tra có yêu cầu hủy đăng ký $user_ureg = $_GET['user_ureg']; if($user_ureg!="") { $confirm_code = get_confirmcode("r_access_token", $access_token); if($confirm_code==$user_ureg) { db_query("DELETE FROM {smsfacebook_reg} WHERE (r_access_token='%s' OR w_access_token='%s')", $access_token, $access_token); print "Bạn hủy đký sử dụng OAuth.F.B"; return 0; } print "Hủy đăng ký khơng thành cơng"; return -1; } //khơng có yêu cầu -> thực việc đăng ký if ($stdnum == NULL) { print "Số điện thoại di động không hợp lệ"; return; } $r = authfb_update_userdb($facebookuid, $access_token, $stdnum, $secret); if ($r == 0) { /*Gửi mã kiểm tra tới người dùng*/ } } //~oauth_getmobile 60 b Sử dụng chương trình OAuth.F.B Để sử dụng chương trình cần lấy tin (newsfeed), đăng tin (updatewall) hay bình luận tin (comment), người sử dụng dùng hàm xmlrpc_call để triệu gọi hàm tương ứng từ chương trình OAuth.F.B mơ tả hình 3.6 Các hàm tương ứng triệu gọi qua xmlrpc_call oauth_newsfeed, oauth_updatewall hay oauth_comment *) Hàm xmlrpc_call: function xmlrpc_call($host, $uri, $method, $params, &$respond) { $client = new XML_RPC_Client($uri, $host); $message = new XML_RPC_Message($method, $params); $response = $client->send($message); if ($response->faultCode()) { echo "Thông báo lỗi XML-RPC service \n"; $respond = $response->faultString(); return FALSE; } $value = $response->value(); //lấy kết thực thi hàm xmlrpc $respond = XML_RPC_decode($value); //chuyển biến XML_RPC_Value biến PHP return TRUE; } //~xmlrpc_call *) Ví dụ hàm newsfeed: function newsfeed($mobile) { $server = "222.255.20.46"; $path = "/~admin/smsfacebook/xmlrpc.php"; $method = "smsfacebook.news_feed"; $params = array( new XML_RPC_Value("14", 'string'), new XML_RPC_Value(check_mobile_number($mobile),'string') ); $retcode = xmlrpc_call($server, $path, $method, $params, $respond); return $respond; } //~comment 61 *) Ví dụ hàm oauth_newsfeed: function oauth_newsfeed($reqid, $requester, $message) { $requester = mobile_encdec($requester); $local = localnumber($requester); $access_token = get_access_token($requester); $fbuid = get_facebookuid($requester); $lastupid = save_upmsg($requester, $fbuid, 'news_feed'); if ($access_token == NULL) return array('code'=>2, '1'=>"So dien thoai $local chua hoan tat dang ky voi OAuth.F.B hoac ban da thay doi mat khau FaceBook!"); $url = "https://graph.facebook.com/me/home? access_token=$access_token&limit=".LIMIT; $content = get_web_page($url); if ($content['errno'] == 0) { $json = json_decode($content['content']); if (isset($json->error)) // Error { $fbmsg = $json->error->message; return array('code'=>1, 1=>MSG_ERROR); } } else return array('code'=>1, MSG_CANTCONNECT); $ret = array('code' => 0); $i = 0; foreach ($json->data as $j) { switch ($j->type) { case 'status': $feed = $j->message; break; case 'link': if (isset($j->message) && $j->message != '') $feed = $j->message." Link>>".$j->name " - ".$j->description; else $feed = "Link>>".$j->name " - ".$j->description; break; case 'photo': if (isset($j->caption) && $j->caption != '') $cap = " (".$j->caption.")"; else $cap = ""; if (isset($j->message) && $j->message != '') $msg = $j->message." Photo>>"; else $msg = ""; $feed = $msg.$j->name.$cap; break; case 'video': 62 if (isset($j->message) && $j->message != '') $feed = $j->message." Video>>".$j->name; else $feed = "Video>>".$j->name; break; default: $feed = $j->message; break; } //~switch if (!isset($j->likes)) $likes = 0; else $likes = $j->likes->count; if (isset($j->comments)) $cmtlk = "comments: " ($j->comments->count) ", likes: $likes"; else $cmtlk = "comments: 0, likes: $likes"; $i++; $buf = "$feed - $cmtlk."; $fbmsgid = $j->id; $lastdownid = save_downmsg($fbuid, $requester, $buf, $fbmsgid); $lastdownid = base_convert($lastdownid, 10, 36); $buf = convert2alias($buf); $ret["i".$i] = $lastdownid; $ret["u".$i] = $j->from->name; $ret[$i] = $buf; } //~foreach return $ret; } //~oauth_newsfeed *) Ví dụ hàm comment: function comment($mobile, $feedid, $message) { $server = "222.255.20.46"; $path = "/~admin/smsfacebook/xmlrpc.php"; $method = "smsfacebook write_comment"; $params = array( new XML_RPC_Value("14", 'string'), new XML_RPC_Value(check_mobile_number($mobile),'string'), new XML_RPC_Value($feedid, 'string'), new XML_RPC_Value($message, 'string') ); $retcode = xmlrpc_call($server, $path, $method, $params, $respond); return $respond; } //~comment 63 *) Ví dụ hàm oauth_comment: function oauth_comment($reqid, $requester, $postid, $message) { $requester = mobile_encdec($requester); $local = localnumber($requester); $access_token = get_access_token($requester); $fbuid = get_facebookuid($requester); $postid = base_convert($postid, 36, 10); $res = db_query("SELECT * FROM {smsfacebook_downmsg} WHERE id='%s'", $postid); $x = ''; while ($r = db_fetch_object($res)) { $x = $r->fbmsgid; break; } if ($x == '') { return array('code'=>3, 1=>MSG_WRONGID); } else { $f = explode('_', $x); $postid = $f[0].'_'.$f[1]; } $lastupid =save_upmsg($requester, $fbuid, "write_comments: $message"); if ($access_token == NULL) return array('code'=>2, '1'=>"So dien thoai $local chua hoan tat dang ky voi OAuth.F.B hoac ban da thay doi mat khau FaceBook!"); $cmd = "/usr/bin/curl -F \"access_token=$access_token\" -F \"message=$message\" https://graph.facebook.com/ $postid/comments"; exec($cmd, &$output, &$code); $ret = array('code' => $code); $i = 0; foreach ($output as $o) { $i++; $json = json_decode($o); if (isset($json->error)) { // Error $fbmsg = $json->error->message; $ret['code']='1'; $ret[$i]=MSG_ERROR; $fbmsgid=-1; } else { $id = $json->id; if (isset($id)) { $fbmsgid = $id; $ret[$i] = "Binh luan cong!"; } else { $fbmsgid = 0; $ret[$i] = "Binh luan khong cong!"; } } if ($fbmsgid > 0) { $lastdownid = save_downmsg($fbuid, $requester, $ret[$i], $fbmsgid); $lastdownid = base_convert($lastdownid, 10, 36); } else $lastdownid = $fbmsgid; $ret[$i] = "".$ret[$i]; } //~foreach return $ret; 64 } //~oauth_comment *) Ví dụ hàm updatewall: function updatewall($mobile, $message) { $server = "222.255.20.46"; $path = "/~admin/smsfacebook/xmlrpc.php"; $method = "smsfacebook update_wall"; $params = array( new XML_RPC_Value("14", 'string'), new XML_RPC_Value(check_mobile_number($mobile),'string'), new XML_RPC_Value($message, 'string') ); $retcode = xmlrpc_call($server, $path, $method, $params, $respond); return $respond; } //~updatewall *) Ví dụ hàm oauth_updatewall: function oauth_updatewall($reqid, $requester, $message) { $requester = mobile_encdec($requester); $local = localnumber($requester); $access_token = get_access_token($requester); $fbuid = get_facebookuid($requester); $lastupid = save_upmsg($requester, $fbuid, "update_wall: ".$message); if ($access_token == NULL) return array('code'=>2, '1'=>"So dien thoai $local chua hoan tat dang ky voi OAuth.F.B hoac ban da thay doi mat khau FaceBook!"); $cmd = "/usr/bin/curl -F \"access_token=$access_token\" -F \"message=$message\" https://graph.facebook.com/me/feed"; print "cmd=$cmd\n"; exec($cmd, &$output, &$code); $ret = array('code' => $code); $i = 0; foreach ($output as $o) { $i++; $json = json_decode($o); if (isset($json->error)) { // Error $fbmsg = $json->error->message; $ret['code'] = '1'; $ret[$i] = MSG_ERROR; 65 $fbmsgid = -1; } else { $id = $json->id; if (isset($id)) { $fbmsgid = $id; $ret[$i] = "Cap nhat Wall cong!"; } else { $fbmsgid = 0; $ret[$i] = "Cap nhat Wall ko cong!"; } } if ($fbmsgid > 0) { $lastdownid = save_downmsg($fbuid, $requester, $ret[$i], $fbmsgid); $lastdownid = base_convert($lastdownid, 10, 36); } else $lastdownid = $fbmsgid; $ret[$i] = "".$ret[$i]; } //~foreach return $ret; } //~oauth_updatewall 66 3.4 Sử dụng OAuth.F.B 3.4.1 Đăng ký sử dụng Người sử dụng cần đăng nhập vào tài khoản facebook truy cập vào địa sau để đăng ký sử dụng OAuth.F.B http://apps.facebook.com/smsfbsms Hình 3.7: Trang ứng dụng OAuth Facebook Người sử dụng nhấn OAuth.F.B để tiếp tục chạy ứng dụng Nếu tài khoản facebook chưa đăng ký dịch vụ, trang yêu cầu đăng ký xuất Người sử dụng cần cung cấp số điện thoại để đăng ký Sau cập nhật số điện thoại đăng ký dịch vụ thành công, người sử dụng cần xác nhận mã kiểm tra Q trình đăng ký hồn tất sau người sử dụng xác nhận lại mã kiểm tra thành công Để lấy mã xác nhận người sử dụng làm theo cách gửi email soạn tin nhắn để xác nhận Người sử dụng đăng ký lại hủy đăng ký dịch vụ muốn Việc đăng ký phải thực lại người dùng đổi mật truy cập trang facebook 67 Hình 3.8: Trang yêu cầu đăng ký sử dụng dịch vụ OAuth Facebook Hình 3.9: Cập nhật điện thoại để đăng ký sử dụng dịch vụ thành cơng 68 Hình 3.10: Xác nhận số điện thoại thành cơng Hình 3.11: Đã hồn tất đăng ký 69 3.4.2 Sử dụng ứng dụng Sau hoàn tất đăng ký, người sử dụng tương tác với FaceBook thông qua ứng dụng OAuth.F.B mà không cần phải đăng nhập tài khoản FaceBook Người sử dụng ứng dụng truy cập vào địa chỉ: http://222.255.20.36/oafb36.php http://222.255.20.46/oafb.php để sử dụng dịch vụ sử dụng hệ thống tin nhắn có tích hợp OAuth.F.B để tương tác với FaceBook Hình 3.12: Demo sử dụng chức năngOAuth FaceBook 70 Người sử dụng chạy ứng dụng OAuth.F.B ssh để updatewall (cập nhật tường), postcomment (viết bình luận) hay newsfeed (đọc tin mới) Hình 3.13: Demo đọc tin mới, sử dụng OAuth.F.B SSH 71 3.4.3 Tính hợp ứng dụng OAuth.F.B Ứng dụng OAuth.F.B cung cấp cho người sử dụng đoạn mã nguồn đủ để tích hợp ứng dụng OAuth F.B vào hệ thống dịch vụ người dùng Ví dụ thực nghiệm, tích hợp OAuth.F.B vào hệ thống bán hàng đồ điện tử trực tuyến http://222.255.20.36/shop Người sử dụng người bán hàng chọn sản phẩm họ muốn giới thiệu cho bạn bè để gửi thông tin lên FaceBook Hình 3.14: Tích hợp OAuth.F.B lên website bán hàng 72 KẾT LUẬN Sau hoàn thành luận văn, thông qua việc nghiên cứu công nghệ OAuth FaceBook, em xây dựng ứng dụng OAuth.F.B hỗ trợ cho người sử dụng tương tác với FaceBook nhanh chóng tiện lợi thơng qua việc tích hợp OAuth.F.B vào hệ thống người dùng Ứng dụng OAuth.F.B sau cài đặt FaceBook, người dùng đăng ký đơn giản việc sử dụng tính OAuth.F.B dễ dàng Để tích hợp OAuth.F.B vào ứng dụng người dùng địi hỏi người dùng có kiến thức lập trình, thao tác tương đối đơn giản Ứng dụng OAuth.F.B cài đặt hệ thống như: website bán hàng, web tin tức, dịch vụ tương tác facebook qua tin nhắn,… Xây dựng dịch vụ tương tác facebook qua tin nhắn hướng phát triển ứng dụng, mà người dùng ngày sử dụng nhiều thiết bị di động 73 TÀI LIỆU THAM KHẢO Tiếng Việt http://groups.drupal.org http://vi.wikipedia.org Tiếng Anh Hasin Hayder and Dr.Mark Alexander Bain (5-2008), Learning Facebook Application Development, Publisher: Packt Jay Goldman (10-2008), Facebook Cookbook, Publisher: O’Reilly Media Jesse Stay (7-2008), FBML Essentials, Publisher: O’Reilly Media Wayne Graham (2008), Facebook API Developers Guide, Publisher: Apress Simon St Laurent Joe Johnston Edd Dumbill (7-2001), Programming Web Services with XML-RPC, Publisher: O'Reilly http://wiki.developers.facebook.com/ http://forum.developers.facebook.com/ 10 http://oauth.net 11 https://developers.google.com/accounts/docs/OAuth ... d? ?ng c? ?i đ? ?t b? ?t đầu trang web ? ?ng d? ? ?ng tr? ?ớc Facebook có kho? ?ng t? ?? ng? ?? ?i d? ?ng thu h? ?t số l? ?? ?ng l? ? ?n nhà ph? ?t tri? ? ?n ? ?ng d? ? ?ng, có ? ?ng d? ? ?ng thu h? ?t h? ?ng chục tri? ??u ng? ?? ?i d? ?ng th? ?ng doanh thu đ? ?t. .. Các thẻ b? ?n: • - Mơ t? ??: Tr? ?? l? ? ?i t? ?n ng? ?? ?i d? ?ng, d? ? ?ng link li? ?n k? ? ?t t? ?i trang profile ng? ?? ?i d? ?ng - Thuộc t? ?nh: uid ng? ?? ?i d? ?ng Ng? ?i c? ?n có t? ?y ch? ?n : firstnameonly, linked, lastnameonly,... Mặc d? ? t? ??o FBML d? ??a t? ? ?ng HTML, nhà ph? ?t tri? ? ?n Facebook l? ? ?i kh? ?ng t? ??o ng? ?n ng? ?? hỗ tr? ?? CSS cho ng? ?? ?i ph? ?t tri? ? ?n ? ?ng d? ? ?ng CSS d? ?ng Facebook ho? ?n to? ?n t? ?? ?ng t? ?? d? ?ng trang web th? ?ng thư? ?ng C? ?ng hình

Ngày đăng: 28/12/2021, 10:12

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Sơ đồ mạng xã hội - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 1.1 Sơ đồ mạng xã hội (Trang 9)
Hình 1.2: Các mạng xã hội. - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 1.2 Các mạng xã hội (Trang 12)
Hình 1.3: Mô hình web thông thường - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 1.3 Mô hình web thông thường (Trang 14)
Hình 1.5: Mô hình web Facebook sử dụng cache - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 1.5 Mô hình web Facebook sử dụng cache (Trang 15)
Facebook đã phát triển Haystack – một hệ thống quản lý các tập tin hình ảnh trung gian để cải tiến sự truy vấn - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
acebook đã phát triển Haystack – một hệ thống quản lý các tập tin hình ảnh trung gian để cải tiến sự truy vấn (Trang 15)
Hình 2.1: Mô hình quá trình xác thực người dùng - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 2.1 Mô hình quá trình xác thực người dùng (Trang 20)
Hình 2.2: Hệ thống xác thực người dùng của Gmail và Yahoo - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 2.2 Hệ thống xác thực người dùng của Gmail và Yahoo (Trang 21)
Hình 3.1: Cách thức làm việc của Facebook API - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 3.1 Cách thức làm việc của Facebook API (Trang 29)
Hình 3.2: Dòng chảy thông tin từ máy chủứng dụng đến trình duyệt của người dùng - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 3.2 Dòng chảy thông tin từ máy chủứng dụng đến trình duyệt của người dùng (Trang 37)
a) User/Groups - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
a User/Groups (Trang 37)
*) Bảng dữ liệu smsfacebook_reg - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Bảng d ữ liệu smsfacebook_reg (Trang 55)
Hình 3.4: Sơ đồ đăng ký sử dụng OAuth.F.B. - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 3.4 Sơ đồ đăng ký sử dụng OAuth.F.B (Trang 56)
Hình 3.3: Sơ đồ hoạt động của OAuth.F.B. - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 3.3 Sơ đồ hoạt động của OAuth.F.B (Trang 56)
Hình 3.6: Sơ đồ chi tiết hoạt động của OAuth.F.B. - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 3.6 Sơ đồ chi tiết hoạt động của OAuth.F.B (Trang 57)
Hình 3.5: Sơ đồ xác nhận đăng ký sử dụng OAuth.F.B. - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 3.5 Sơ đồ xác nhận đăng ký sử dụng OAuth.F.B (Trang 57)
Hình 3.8: Trang yêu cầu đăng ký sử dụng dịch vụ OAuth. Facebook - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 3.8 Trang yêu cầu đăng ký sử dụng dịch vụ OAuth. Facebook (Trang 67)
Hình 3.9: Cập nhật điện thoại để đăng ký sử dụng dịch vụ thành công - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 3.9 Cập nhật điện thoại để đăng ký sử dụng dịch vụ thành công (Trang 67)
Hình 3.10: Xác nhận số điện thoại thành công - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 3.10 Xác nhận số điện thoại thành công (Trang 68)
Hình 3.11: Đã hoàn tất đăng ký - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 3.11 Đã hoàn tất đăng ký (Trang 68)
Hình 3.12: Demo sử dụng chức năngOAuth. FaceBook - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 3.12 Demo sử dụng chức năngOAuth. FaceBook (Trang 69)
Hình 3.13: Demo đọc tin mới, sử dụng OAuth.F.B. trên SSH - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 3.13 Demo đọc tin mới, sử dụng OAuth.F.B. trên SSH (Trang 70)
Hình 3.14: Tích hợp OAuth.F.B. lên website bán hàng - ĐỀ TÀIPHÁT TRIỂN ỨNG DỤNG KẾT NỐI FACEBOOK TRÊNCƠ SỞ GIAO THỨC OAUTH (OPEN AUTHENTICATION)
Hình 3.14 Tích hợp OAuth.F.B. lên website bán hàng (Trang 71)
w