SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
Facebook Apps Laurentiu Petrisor Chisan Pavel Cosmin Stefanache
Introduction   Architecture  Overview  Tutorial  Resources 2/13 Building an application on Facebook gives you the opportunity to deeply integrate into the core Facebook experience.  Your application can integrate with many aspects of Facebook.com, including  Requests ,  Bookmarks  and  Page tabs , making your application a seamless part of the Facebook experience.  All of the core Facebook Platform technologies, such as  Social Plugins , the  Graph API  and  Platform Dialogs  are available to Apps on Facebook.com.
Introduction  Architecture  Overview  Tutorial  Resources 3/13 How a Facebook App works Anyone can create an application (or app) that will run within the Facebook platform (and many do!). An app is like a regular website with the aditional benifits of the social network Facebook provides (such as  friends ,  profiles   boxes ,  walls  etc). Technically, a Facebook app is just like a website: its mounted on a normal web sever and serves content to HTTP requests.  The difference is that while a normal website receives requests directly from its users, an app has the Facebook platform as a middle man, between the user and the application.
4/13 A Facebook application architecture vs. a normal web sever . Introduction  Architecture  Overview  Tutorial  Resources
5/13 What Facebook tells the application about the user When the user engages the application, Facebook will add some of the user's personal information when contacting the app server, so the response, could be personalized. What details exactlly it sends along depends on many variables, most notabely if the user has authorized the app. However, Facebook has a module called  Automatic Authentication .  This mechanism allows the app to receive some of the user's info automatically, without the user's consent. These details include  full name ,  profile picture , and  friends list . Introduction  Architecture  Overview  Tutorial  Resources
6/13 Getting Started  Apps on Facebook.com are web applications that are loaded in the context of Facebook. You can build your application using any language or tool chain that supports web programming, such as  PHP ,  Python ,  Java  or  C#. Apps on Facebook.com are loaded into a  Canvas Page . When a user requests the Canvas Page, the  Canvas URL  is loaded within an iframe on that page. This results in your application being displayed within the standard Facebook chrome. Introduction  Architecture  Overview  Tutorial  Resources
7/13 Authentication & Authorization In order to create a personalized user experience, Facebook sends your application information about the user. This information is passed to your Canvas URL using HTTP POST within a single   signed_request  parameter which contains a  base64url  encoded JSON object. When a user first accesses your app, the  signed_request  parameter contains a limited amount of user data. In order to gain access to all the user information available to your application by default (like the user's Facebook ID), the user must  authorize  your application. Facebook offers a number of different ways to handle authorization ranging from the  Login Button  to manually performing the  OAuth2.0   flow  on your Web server. Introduction  Architecture  Overview  Tutorial  Resources
8/13 Authentication & Authorization After the user has authorized your application, the  signed_request  parameter will contain the following information on subsequent requests: Introduction  Architecture  Overview  Tutorial  Resources
9/13 Requests  Requests are a great way to enable users to invite their friends to your application. Requests integrate with Facebook notifications and dashboards, ensuring that a user will see the requests from their friends whenever they are on Facebook.  You can also use requests to have a user notify their friends to take a specific action in your app, such as accepting a gift or helping the user complete a quest. Introduction  Architecture  Overview  Tutorial  Resources
10/13 Bookmarks and Counters Bookmarks enable users to easily navigate back to your application from within Facebook. Bookmarks are automatically added for your application when user uses it repeatedly. The bookmark will appear on left column of the homepage as well as on the top right of a Canvas Page. Introduction  Architecture  Overview  Tutorial  Resources
11/13 Page Tabs  Facebook Pages  are a heavily used feature of Facebook. Major brands, celebrities, etc. use Facebook Pages as their "social home" on the web. One of the most interesting features of Apps on Facebook.com is the ability for your application to be used within the context of a Facebook Page. Introduction  Architecture  Overview  Tutorial  Resources
12/13 How to make a Facebook Application There are a lot of examples on the web in how to make a Facebook Application.  Some of them are included below: http://www.youtube.com/watch?v=gtIUiTXx9Ik&feature=related http://www.youtube.com/watch?v=roOYZKsN3Yg&feature=player_embedded Introduction  Architecture  Overview  Tutorial  Resources
13/13 Introduction  Architecture  Overview  Tutorial  Resources  This presentation is the mash-up of the ideas presented in the documents included below:  http://blog.quaji.com/2009/08/facebook-csrf-attack-full-disclosure.html http://developers.facebook.com/docs/guides/canvas http://www.labnol.org/internet/tutorial-write-a-facebook-application/10116/

Mais conteúdo relacionado

Mais procurados

Interactive with-facebook
Interactive with-facebookInteractive with-facebook
Interactive with-facebookTien Nguyen
 
Online tools for content development
Online tools for content developmentOnline tools for content development
Online tools for content developmentZulechaGenAlzate
 
Php day 2011 - Interactive-with-facebook
Php day 2011 - Interactive-with-facebookPhp day 2011 - Interactive-with-facebook
Php day 2011 - Interactive-with-facebookQuang Anh Le
 
[Code Camp] Ứng dụng Facebook API vào phát triển website
[Code Camp] Ứng dụng Facebook API vào phát triển website[Code Camp] Ứng dụng Facebook API vào phát triển website
[Code Camp] Ứng dụng Facebook API vào phát triển websiteSieu Web
 
Creating a content managed facebook app
Creating a content managed facebook appCreating a content managed facebook app
Creating a content managed facebook appOS-Cubed, Inc.
 
Connect with Facebook to Rails Application By Nyros Developer
Connect with Facebook to Rails Application By Nyros DeveloperConnect with Facebook to Rails Application By Nyros Developer
Connect with Facebook to Rails Application By Nyros DeveloperNyros Technologies
 
Jasmeet Grp Facebook It Group Assig
Jasmeet Grp Facebook It Group AssigJasmeet Grp Facebook It Group Assig
Jasmeet Grp Facebook It Group Assigsharing notes123
 
Introduction to Facebook Application development
Introduction to Facebook Application developmentIntroduction to Facebook Application development
Introduction to Facebook Application developmentVasanth Kumar
 
What's New on the Facebook Platform, July 2011
What's New on the Facebook Platform, July 2011What's New on the Facebook Platform, July 2011
What's New on the Facebook Platform, July 2011Iskandar Najmuddin
 
Social software & web 2.0
Social software & web 2.0Social software & web 2.0
Social software & web 2.0xs2rashid
 
Social Apps with the Force.com Toolkit for Facebook
Social Apps with the Force.com Toolkit for FacebookSocial Apps with the Force.com Toolkit for Facebook
Social Apps with the Force.com Toolkit for FacebookSalesforce Developers
 
Web site advisory panel meeting 1
Web site advisory panel   meeting 1Web site advisory panel   meeting 1
Web site advisory panel meeting 1Rob Tidrow
 
Facebook App Development
Facebook App DevelopmentFacebook App Development
Facebook App DevelopmentCristiano Betta
 
Developing Facebook Application
Developing Facebook ApplicationDeveloping Facebook Application
Developing Facebook ApplicationSandeep Varma
 
Multimedia System & Design!
Multimedia System & Design!Multimedia System & Design!
Multimedia System & Design!Umair shafaqat
 
Facebook
FacebookFacebook
Facebooksonycse
 

Mais procurados (18)

Interactive with-facebook
Interactive with-facebookInteractive with-facebook
Interactive with-facebook
 
Online tools for content development
Online tools for content developmentOnline tools for content development
Online tools for content development
 
Php day 2011 - Interactive-with-facebook
Php day 2011 - Interactive-with-facebookPhp day 2011 - Interactive-with-facebook
Php day 2011 - Interactive-with-facebook
 
[Code Camp] Ứng dụng Facebook API vào phát triển website
[Code Camp] Ứng dụng Facebook API vào phát triển website[Code Camp] Ứng dụng Facebook API vào phát triển website
[Code Camp] Ứng dụng Facebook API vào phát triển website
 
Facebook Apps
Facebook AppsFacebook Apps
Facebook Apps
 
Creating a content managed facebook app
Creating a content managed facebook appCreating a content managed facebook app
Creating a content managed facebook app
 
Connect with Facebook to Rails Application By Nyros Developer
Connect with Facebook to Rails Application By Nyros DeveloperConnect with Facebook to Rails Application By Nyros Developer
Connect with Facebook to Rails Application By Nyros Developer
 
Jasmeet Grp Facebook It Group Assig
Jasmeet Grp Facebook It Group AssigJasmeet Grp Facebook It Group Assig
Jasmeet Grp Facebook It Group Assig
 
Uwex facebook
Uwex facebookUwex facebook
Uwex facebook
 
Introduction to Facebook Application development
Introduction to Facebook Application developmentIntroduction to Facebook Application development
Introduction to Facebook Application development
 
What's New on the Facebook Platform, July 2011
What's New on the Facebook Platform, July 2011What's New on the Facebook Platform, July 2011
What's New on the Facebook Platform, July 2011
 
Social software & web 2.0
Social software & web 2.0Social software & web 2.0
Social software & web 2.0
 
Social Apps with the Force.com Toolkit for Facebook
Social Apps with the Force.com Toolkit for FacebookSocial Apps with the Force.com Toolkit for Facebook
Social Apps with the Force.com Toolkit for Facebook
 
Web site advisory panel meeting 1
Web site advisory panel   meeting 1Web site advisory panel   meeting 1
Web site advisory panel meeting 1
 
Facebook App Development
Facebook App DevelopmentFacebook App Development
Facebook App Development
 
Developing Facebook Application
Developing Facebook ApplicationDeveloping Facebook Application
Developing Facebook Application
 
Multimedia System & Design!
Multimedia System & Design!Multimedia System & Design!
Multimedia System & Design!
 
Facebook
FacebookFacebook
Facebook
 

Semelhante a Facebook apps

Facebook 3rd Party Api
Facebook 3rd Party ApiFacebook 3rd Party Api
Facebook 3rd Party ApiYoss Cohen
 
Facebook API
Facebook APIFacebook API
Facebook APIsnipermkd
 
Developing a Facebook App
Developing a Facebook AppDeveloping a Facebook App
Developing a Facebook Appkapilgoenka
 
Facebook Open Graph Tech Requirements
Facebook Open Graph Tech RequirementsFacebook Open Graph Tech Requirements
Facebook Open Graph Tech RequirementsAffinitive
 
Peepcode facebook-2-rails on facebook
Peepcode facebook-2-rails on facebookPeepcode facebook-2-rails on facebook
Peepcode facebook-2-rails on facebooksushilprajapati
 
Facebook Developer Garage Cyberjaya
Facebook Developer Garage CyberjayaFacebook Developer Garage Cyberjaya
Facebook Developer Garage CyberjayaMehedi Hasan Sumon
 
Facebook Apps Vs Google Open Social
Facebook Apps Vs Google Open SocialFacebook Apps Vs Google Open Social
Facebook Apps Vs Google Open SocialRachel Vacek
 
Web 2.o as facebook
Web 2.o as facebookWeb 2.o as facebook
Web 2.o as facebookSyed Zaidi
 
Facebook Connect Integration
Facebook Connect IntegrationFacebook Connect Integration
Facebook Connect Integrationmujahidslideshare
 
Shiny Agency's Facebook Development Guidelines
Shiny Agency's Facebook Development GuidelinesShiny Agency's Facebook Development Guidelines
Shiny Agency's Facebook Development GuidelinesRoy Pereira
 
Barcamp AK4 Building facebook applications
Barcamp AK4 Building facebook applicationsBarcamp AK4 Building facebook applications
Barcamp AK4 Building facebook applicationsRichard Wright
 

Semelhante a Facebook apps (20)

Facebook 3rd Party Api
Facebook 3rd Party ApiFacebook 3rd Party Api
Facebook 3rd Party Api
 
Facebook API
Facebook APIFacebook API
Facebook API
 
Developing a Facebook App
Developing a Facebook AppDeveloping a Facebook App
Developing a Facebook App
 
Facebook Open Graph Tech Requirements
Facebook Open Graph Tech RequirementsFacebook Open Graph Tech Requirements
Facebook Open Graph Tech Requirements
 
Facebook app
Facebook appFacebook app
Facebook app
 
Peepcode facebook-2-rails on facebook
Peepcode facebook-2-rails on facebookPeepcode facebook-2-rails on facebook
Peepcode facebook-2-rails on facebook
 
Assignmet on facebook
Assignmet on facebookAssignmet on facebook
Assignmet on facebook
 
FacebookAPIWhitePaper
FacebookAPIWhitePaperFacebookAPIWhitePaper
FacebookAPIWhitePaper
 
FacebookAPIWhitePaper
FacebookAPIWhitePaperFacebookAPIWhitePaper
FacebookAPIWhitePaper
 
Facebook Coin
Facebook CoinFacebook Coin
Facebook Coin
 
Facebook Developer Garage Cyberjaya
Facebook Developer Garage CyberjayaFacebook Developer Garage Cyberjaya
Facebook Developer Garage Cyberjaya
 
Facebook Apps Vs Google Open Social
Facebook Apps Vs Google Open SocialFacebook Apps Vs Google Open Social
Facebook Apps Vs Google Open Social
 
Facebook Platform
Facebook PlatformFacebook Platform
Facebook Platform
 
Creating a Facebook App
Creating a Facebook AppCreating a Facebook App
Creating a Facebook App
 
Facebook Connect
Facebook ConnectFacebook Connect
Facebook Connect
 
Introducing Facebook
Introducing FacebookIntroducing Facebook
Introducing Facebook
 
Web 2.o as facebook
Web 2.o as facebookWeb 2.o as facebook
Web 2.o as facebook
 
Facebook Connect Integration
Facebook Connect IntegrationFacebook Connect Integration
Facebook Connect Integration
 
Shiny Agency's Facebook Development Guidelines
Shiny Agency's Facebook Development GuidelinesShiny Agency's Facebook Development Guidelines
Shiny Agency's Facebook Development Guidelines
 
Barcamp AK4 Building facebook applications
Barcamp AK4 Building facebook applicationsBarcamp AK4 Building facebook applications
Barcamp AK4 Building facebook applications
 

Último

Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 

Último (20)

Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 

Facebook apps

  • 1. Facebook Apps Laurentiu Petrisor Chisan Pavel Cosmin Stefanache
  • 2. Introduction Architecture Overview Tutorial Resources 2/13 Building an application on Facebook gives you the opportunity to deeply integrate into the core Facebook experience. Your application can integrate with many aspects of Facebook.com, including Requests , Bookmarks and Page tabs , making your application a seamless part of the Facebook experience. All of the core Facebook Platform technologies, such as Social Plugins , the Graph API and Platform Dialogs are available to Apps on Facebook.com.
  • 3. Introduction Architecture Overview Tutorial Resources 3/13 How a Facebook App works Anyone can create an application (or app) that will run within the Facebook platform (and many do!). An app is like a regular website with the aditional benifits of the social network Facebook provides (such as friends , profiles boxes , walls etc). Technically, a Facebook app is just like a website: its mounted on a normal web sever and serves content to HTTP requests. The difference is that while a normal website receives requests directly from its users, an app has the Facebook platform as a middle man, between the user and the application.
  • 4. 4/13 A Facebook application architecture vs. a normal web sever . Introduction Architecture Overview Tutorial Resources
  • 5. 5/13 What Facebook tells the application about the user When the user engages the application, Facebook will add some of the user's personal information when contacting the app server, so the response, could be personalized. What details exactlly it sends along depends on many variables, most notabely if the user has authorized the app. However, Facebook has a module called Automatic Authentication . This mechanism allows the app to receive some of the user's info automatically, without the user's consent. These details include full name , profile picture , and friends list . Introduction Architecture Overview Tutorial Resources
  • 6. 6/13 Getting Started Apps on Facebook.com are web applications that are loaded in the context of Facebook. You can build your application using any language or tool chain that supports web programming, such as PHP , Python , Java or C#. Apps on Facebook.com are loaded into a Canvas Page . When a user requests the Canvas Page, the Canvas URL is loaded within an iframe on that page. This results in your application being displayed within the standard Facebook chrome. Introduction Architecture Overview Tutorial Resources
  • 7. 7/13 Authentication & Authorization In order to create a personalized user experience, Facebook sends your application information about the user. This information is passed to your Canvas URL using HTTP POST within a single signed_request parameter which contains a base64url encoded JSON object. When a user first accesses your app, the signed_request parameter contains a limited amount of user data. In order to gain access to all the user information available to your application by default (like the user's Facebook ID), the user must authorize your application. Facebook offers a number of different ways to handle authorization ranging from the Login Button to manually performing the OAuth2.0 flow on your Web server. Introduction Architecture Overview Tutorial Resources
  • 8. 8/13 Authentication & Authorization After the user has authorized your application, the signed_request parameter will contain the following information on subsequent requests: Introduction Architecture Overview Tutorial Resources
  • 9. 9/13 Requests Requests are a great way to enable users to invite their friends to your application. Requests integrate with Facebook notifications and dashboards, ensuring that a user will see the requests from their friends whenever they are on Facebook. You can also use requests to have a user notify their friends to take a specific action in your app, such as accepting a gift or helping the user complete a quest. Introduction Architecture Overview Tutorial Resources
  • 10. 10/13 Bookmarks and Counters Bookmarks enable users to easily navigate back to your application from within Facebook. Bookmarks are automatically added for your application when user uses it repeatedly. The bookmark will appear on left column of the homepage as well as on the top right of a Canvas Page. Introduction Architecture Overview Tutorial Resources
  • 11. 11/13 Page Tabs Facebook Pages are a heavily used feature of Facebook. Major brands, celebrities, etc. use Facebook Pages as their "social home" on the web. One of the most interesting features of Apps on Facebook.com is the ability for your application to be used within the context of a Facebook Page. Introduction Architecture Overview Tutorial Resources
  • 12. 12/13 How to make a Facebook Application There are a lot of examples on the web in how to make a Facebook Application. Some of them are included below: http://www.youtube.com/watch?v=gtIUiTXx9Ik&feature=related http://www.youtube.com/watch?v=roOYZKsN3Yg&feature=player_embedded Introduction Architecture Overview Tutorial Resources
  • 13. 13/13 Introduction Architecture Overview Tutorial Resources This presentation is the mash-up of the ideas presented in the documents included below: http://blog.quaji.com/2009/08/facebook-csrf-attack-full-disclosure.html http://developers.facebook.com/docs/guides/canvas http://www.labnol.org/internet/tutorial-write-a-facebook-application/10116/