%META:TOPICPARENT{name="OdsSetLoginAuthenticaionKeys"}% ---+Using Facebook OAuth key-secret Configuration Guidelines %TOC% ---++ What? Use Facebook as 3rd party application for registering a new user or logging into ODS DataSpace as already registered ODS User which account is associated with a given Facebook account. ---++ Why? Makes the process of managing users register/log in activities easier. ---++ How? In order to be able to register a new user or to log in into ODS Dataspace as already registered ODS user, you need to: * Create ODS application within Facebook: 1 Get an API Key -- for identification; 1 Get an Secret Key -- for hash salting; 1 Provide a Callback URL -- for request & access token exchange via redirection. * Configure as ODS Administrator in Site Settings->Login Authentication Keys the Facebook API to use the generate from above Client ID When the above is done, you can perform the following activities in ODS: * Register in ODS using your Facebook credentials, or: * For a regular ODS user, for ex. with name XXX you can add in Profile->Personal->Online Accounts your Facebook account, which then will enable you to log in in your ODS XXX user dataspace using the Facebook account credentials. ---+++ Examples ---++++ Prerequisites * A [[http://facebook.com/][Facebook user account]] * Administrative (DBA) access to a [[http://virtuoso.openlinksw.com/][Virtuoso Server]] instance, on which the following have been installed -- * [[https://virtuoso.openlinksw.com/download/][ODS-Framework VAD package]] ---+++++ Steps for Configuring Facebook API Key and Secret Key ---++++++ 1 -- Get Facebook API Key and Secret Key for use with ODS 1 Browse to <[[https://developers.facebook.com/apps][https://developers.facebook.com/apps]]> and enter your Facebook use credentials: %BR%%BR%%BR%%BR% %BR%%BR%%BR%%BR% 1 Click on Create New App: %BR%%BR%%BR%%BR% %BR%%BR%%BR%%BR% 1 In the presented form: 1 Enter application name, for ex. "MyODSExample" %BR%%BR%%BR%%BR% 1 Click "Continue". 1 Enter captch string: %BR%%BR%%BR%%BR% 1 Click "Continue": 1 The application should be registered and you will be shown a API ID and Secret for the newly registered application. You can copy these now as you will need these in the steps that follow: %BR%%BR%%BR%%BR% 1 Provide a Callback URL -- Click on "Website with Facebook Login" and enter your ODS site URL that should match the host of the ODS installation. For ex. if ODS runs at http://example.com/ods/ then the URL in the Facebook app should be http://example.com.com/ : %BR%%BR%%BR%%BR% 1 Click "Save Changes". %BR%%BR%%BR%%BR% ---++++++ 2 - Configure ODS to use your Facebook Consumer Key and Secret 1 Browse to your Virtuoso + ODS instance, http://<cname>[:<port>]/ods, e.g., <[[http://example.com/ods/][http://example.com/ods/]]>, and click Sign In. %BR%%BR%%BR%%BR% 1 Log in as a Virtuoso+ODS user with Administrator privileges, e.g., dba. %BR%%BR%%BR%%BR% 1 Click on Site Settings: %BR%%BR%%BR%%BR% 1 Click on Login Authentication Keys: %BR%%BR%%BR%%BR% 1 Select FacebookAPI in the API Name menu, provide the API Key and Secret from the new Facebook application you created above, and click Add. %BR%%BR%%BR%%BR% 1 ODS is now configured to use Facebook. %BR%%BR%%BR%%BR% ---++++Example for Configuring regular ODS user to log in into ODS using Facebook Account credentials Here is a sample scenario how to configure a regular ODS user to be able to log in in its ODS Dataspace using his/her own Facebook Account: 1 Browse to your Virtuoso + ODS instance, http://<cname>[:<port>]/ods, e.g., <[[http://example.com/ods/][http://example.com/ods/]]>. %BR%%BR%%BR%%BR% 1 Log in as a Virtuoso+ODS user with normal privileges, e.g., demo. %BR%%BR%%BR%%BR% 1 Go to Profile Edit->Personal->Online Accounts: %BR%%BR%%BR%%BR% 1 Click "Add": %BR%%BR%%BR%%BR% 1 In the presented form select service Facebook. By default the "Member Home Page URI" has http://www.facebook.com/<your-ODS-user-name> and the "Account URI" has value http://host:port/about/id/entity/http/www.facebook.com/<your-ODS-user-name>#this . You need to change the <your-ODS-user-name> from these URLs with your Facebook account name. %BR%%BR%%BR%%BR% 1 Finally click "Save". 1 Log out from ODS DataSpace. 1 Make sure Facebook Login is enabled from admin user available at Site Settings -> Members Registrations: %BR%%BR%%BR%%BR% 1 Click Sign In. 1 Go to "Facebook" tab: %BR%%BR%%BR%%BR% 1 Click "Facebook Login". 1 Facebook should ask you to for authorization for the created application from above: %BR%%BR%%BR%%BR% 1 Click "Log In with Facebook": %BR%%BR%%BR%%BR% 1 On a successful authorization you should be redirected back to the ODS DataSpace: %BR%%BR%%BR%%BR% 1 Click "Facebook Login" and should be logged in as the regular user from above, e.g: user "demo". %BR%%BR%%BR%%BR% ---++Related * [[OdsSetLoginAuthenticaionKeys][Set up Login Authentication Keys in ODS]] 1 Examples using 3rd Party Accounts for register/log in in ODS DataSpace: * [[OdsLinkedInAPIKeySecretExUsage][Using LinkedIn -- OAuth consumer key-secret Configuration Guidelines]] * [[OdsTwitterAPIKeySecretExUsage][Using Twitter -- OAuth consumer key-secret Configuration Guidelines]] 1 Examples using 3rd Party Services for data management: * [[OdsBriefcaseAmazonS3][Using ODS-Briefcase to mediate access to data stored on Amazon S3]] * [[OdsBriefcaseBoxNet][Using ODS-Briefcase to mediate access to data stored on Box (a/k/a box.com or box.net)]] * [[OdsBriefcaseDropBox][Using ODS-Briefcase to mediate access to data stored on DropBox]] * [[OdsBriefcaseGoogleDrive][Using ODS-Briefcase to mediate access to data stored on Google Drive]] * [[OdsBriefcaseSkyDrive][Using ODS-Briefcase to mediate access to data stored on Microsoft OneDrive (formerly SkyDrive)]] * Virtuoso Cartridges Configuration: * [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtCartConfigFacebook][Facebook Cartridge - Configuration Guidelines]] * [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtCartConfigGooglePlus][Google+ Cartridge - Configuration Guidelines]] * [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtCartConfigLinkedIn][LinkedIn Cartridge - Configuration Guidelines]] * [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtCartConfigTwitter][Twitter Cartridge - Configuration Guidelines]] * [[VirtOAuthControllers][OAuth Generate Keys for ODS Controllers (Web Services)]] * [[http://virtuoso.openlinksw.com/wiki/main/Main/VirtuosoOAuthProgrammersGuide][Use OAuth for authentication, SPARQL queries, Ubiquity commands]] * [[VirtOAuthTestTool][Use the Virtuoso OAuth Test tool to manage my Data Space data]] * [[VirtuosoOdsControllers][Manipulate User Data via REST using authentication based on OAuth, sessions, or password hash]] * [[ODSProgrammersGuide][ODS Programmers' Guide]] * [[http://virtuoso.openlinksw.com/wiki/main/Main/VirtuosoOAuthProgrammersGuide][Virtuoso OAuth Programmers' Guide]] * [[VirtOAuthExamples][Examples of ODS Application Authentication using OAuth]] * [[VirtuosoOdsUbiquityTutorialsOAuth][OAuth Ubiquity Tutorial]] * [[http://virtuoso.openlinksw.com/wiki/main/Main/VirtOAuthSPARQL][SPARQL OAuth Tutorial]]