%META:TOPICPARENT{name="OdsSetLoginAuthenticaionKeys"}% ---+ Using Twitter OAuth key-secret Configuration Guidelines %TOC% ---++ What? Use Twitter 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 Twitter 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 Twitter: 1 Get an Consumer Key -- for identification; 1 Get an Consumer Secret -- 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 Twitter API to use the generate from above Consumer Key and Secret. When the above is done, you can perform the following activities in ODS: * Register in ODS using your Twitter credentials, or: * For a regular ODS user, for ex. with name XXX you can add in Profile->Personal->Online Accounts your Twitter account, which then will enable you to log in in your ODS XXX user dataspace using the Twitter account credentials. ---++ Examples ---+++ Prerequisites * A [[http://twitter.com/][Tiwtter 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 Twitter Consumer Key and Secret ---+++++ 1 -- Get Twitter Client ID key and secret for use with ODS 1 Browse to <[[https://dev.twitter.com/apps][https://dev.twitter.com/apps]]> and enter your Twitter use credentials: %BR%%BR%%BR%%BR% %BR%%BR%%BR%%BR% 1 Click on Create a new application: %BR%%BR%%BR%%BR% 1 In the presented form: 1 Enter a name for your Twitter client application to be known by, e.g., "MyTwitterExample"; 1 Enter a description, e.g., "My Twitter Example Application"; 1 Enter website, e.g., http://example.com/; 1 Provide a Callback URL -- Enter in "Callback URL" 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/ : 1 Click "Yes, I agree"; 1 Fill in the "CAPTCHA" field; %BR%%BR%%BR%%BR% %BR%%BR%%BR%%BR% %BR%%BR%%BR%%BR% 1 Click "Create your Twitter application". 1 The application should be registered and you will be shown a Consumer Key and Consumer Secret for the newly registered application. (You can copy these now, or come back for them later; they will also show up on the OAuth tool" tab. Do be aware that you will need these in the steps that follow.): %BR%%BR%%BR%%BR% %BR%%BR%%BR%%BR% ---+++++ 2 -- Configure ODS to use your Twitter 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 TwitterAPI in the API Name menu, provide the Consumer Key and Consumer Secret from the new Twitter application you created above, and click Add. %BR%%BR%%BR%%BR% 1 ODS is now configured to use Twitter. %BR%%BR%%BR%%BR% ---+++Example for Configuring regular ODS user to log in into ODS using Twitter 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 Twitter 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 Twitter. By default the "Member Home Page URI" has value http://twitter.com/<your-ODS-user-name> and the "Account URI" has value http://twitter.com/<your-ODS-user-name>#this . You need to change the <your-ODS-user-name> from these URLs with your Twitter account name. 1 Click the "Link" button from "Action" column: %BR%%BR%%BR%%BR% 1 Finally click "Save". 1 Log out from ODS DataSpace. 1 Make sure Twitter Login is enabled from admin user available at Site Settings -> Members Registrations: %BR%%BR%%BR%%BR% 1 Click Sign In: 1 Go to "Twitter" tab: %BR%%BR%%BR%%BR% 1 Click "Twitter Login" 1 Twitter should ask you to for authorization for the created application from above: %BR%%BR%%BR%%BR% 1 Click "Sign In" in the Twitter form 1 On a successful authorization you should be redirected back to the ODS DataSpace 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: * [[OdsFacebookAPIKeySecretExUsage][Using Facebook -- OAuth consumer key-secret Configuration Guidelines]] * [[OdsLinkedInAPIKeySecretExUsage][Using LinkedIn -- 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]]