Access Token คืออะไร
หน้าแรก PHP MySQL เกร็ดความรู้ Access Token คืออะไร
<p>ในเวลาที่เราใช้งาน app ต่างๆผม facebook (เช่นพวกระบบที่ให้ login โดย facebook เป็นต้น) app พวกนั้นก็จะมี access token
แจกให้แต่ล่ะคนที่ใช้ app โดยเจ้า access token นี้จะเป็นข้อความที่ยาว ซึ่งเจ้า access token นี้หน้าที่มันคือเอาไว้สำหรับแอพนั้นเชื่อมต่อกับ
API ของ facebook นั้นเเอง (อ่านเพิ่มเติมได้<a href="https://developers.facebook.com/docs/facebook-login/access-
tokens" target="_blank">ที่นี้</a>)</p><h2>Hacker ขโมย token เราแล้วเอาไปใช้อะไรได้ ???</h2><p>hacker เอา token เรา
ไปใช้อะไรได้บ่างนั้นขึ้นอยู่กับว่า app นั้นร้องค่าสิทธิ์ในการเข้าถึง account ของเราอะไรบ่างเช่น สิทธิ์ในการโพสข้อความ หรือ สิทธิ์ในการอ่านข้อความ
ใน chat เป็นต้น โดยปกติ token จะมีอายุแค่ 1 2 ชม เท่านั้นแต่ว่าเพียง hacker แก้ code ไม่กี่บรรทัดก็สามารถทำให้ access token
มีอายุได้ถึง 60 วันเลยทีเดียวเชียวเมียวเปียว</p><h2>ทดลองเอา token ไปใช้</h2><h3>สร้าง app และ code php</h3><p>ผมจะลองสร้าง
app เพื่อแสดงค่า token ออกมาโดยสิทธิํที่ร้องขอก็คือทั้งหมดลย O.o โดย code นี้ก็แก้จาก example code ของ facebook โดย code
ส่วนนี้ไม่ได้มีการเก็บ access token แต่อย่างใดแต่เวลา hacker ใช้เขาอาจจะทำการเก็บค่า access token ของเราไว้</p>
| Code |
<?php require '../src/facebook.php'; $facebook = new Facebook(array( 'appId' => 'sexy', 'secret' => 'kuy', )); $facebook->setExtendedAccessToken(); $user = $facebook->getUser(); if ($user) { try { $user_profile = $facebook->api('/me'); } catch (FacebookApiException $e) { error_log($e); $user = null; } } if ($user) { $logoutUrl = $facebook->getLogoutUrl(); } else { $loginUrl = $facebook->getLoginUrl(array('scope' => 'public_profile, read_stream, read_mailbox, read_page_mailboxes, publish_checkins, status_update, photo_upload, video_upload, rsvp_event, email, create_note, share_item, publish_stream, read_insights, manage_notifications, read_friendlists, manage_pages, publish_actions, user_birthday, user_religion_politics, user_relationships, user_relationship_details, user_hometown, user_location, user_likes, user_activities, user_interests, user_education_history, user_work_history, user_online_presence, user_website, user_groups, user_events, user_photos, user_videos, user_photo_video_tags, user_notes, user_checkins, user_questions, user_friends, user_about_me, user_status, user_games_activity, user_subscriptions')); } ?> <!doctype html> <html xmlns:fb="http://www.facebook.com/2008/fbml"> <head> <title>php-sdk</title> <style> body { font-family: 'Lucida Grande', Verdana, Arial, sans-serif; } h1 a { text-decoration: none; color: #3b5998; } h1 a:hover { text-decoration: underline; } </style> </head> <body> <h1>php-sdk</h1> <?php if ($user): ?> <a href="<?php echo $logoutUrl; ?>">Logout</a> <?php else: ?> <div> Login using OAuth 2.0 handled by the PHP SDK: <a href="<?php echo $loginUrl; ?>">Login with Facebook</a> </div> <?php endif ?> <h3>PHP Session</h3> <pre><?php print_r($_SESSION); ?></pre> <?php if ($user): ?> <h3>You</h3> <img src="https://graph.facebook.com/<?php echo $user; ?>/picture"> <h3>Your User Object (/me)</h3> <pre><?php print_r($user_profile); ?></pre> <?php else: ?> <strong><em>You are not Connected.</em></strong> <?php endif ?> </body> </html> |
ss
ขึ้นไปด้านบน
