%META:TOPICPARENT{name="OdsSetLoginAuthenticaionKeys"}% ---+Using LinkedIn OAuth key-secret Configuration Guidelines %TOC% ---++ What? Use LinkedIn 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 LinkedIn 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 LinkedIn: 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 LinkedIn API to use the generate from above API and Secret Key. When the above is done, you can perform the following activities in ODS: * Register in ODS using your LinkedIn credentials, or: * For a regular ODS user, for ex. with name XXX you can add in Profile->Personal->Online Accounts your LinkedIn account, which then will enable you to log in in your ODS XXX user dataspace using the LinkedIn account credentials. ---++ Examples ---+++ Prerequisites * A [[http://linkedin.com/][LinkedIn 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 LinkedIn API Key and Secret Key ---+++++ 1 -- Get LinkedIn API Key and Secret Key for use with ODS 1 Browse to <[[https://www.linkedin.com/secure/developer][https://www.linkedin.com/secure/developer]]> and enter your LinkedIn use credentials: %BR%%BR%%BR%%BR% %BR%%BR%%BR%%BR% 1 Click on Add New Application: %BR%%BR%%BR%%BR% %BR%%BR%%BR%%BR% 1 In the presented form: 1 "Company Info" section: enter company details if such are required for new companies; 1 ""Application Info" section: 1 Enter a name for your LinkedIn client application to be known by, e.g., "MySimpleExample"; 1 Enter a description, e.g., "My LinkedIn Example Application"; 1 Enter Website URL, e.g., http://example.com/; 1 Set "Application Use"; 1 "Contact Info" section: 1 Enter developer contact email; 1 Enter phone for contact 1 "OAuth User Agreement" section: 1 Provide a Callback URL -- enter in "OAuth Redirect 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 Set language. 1 "Term of Service" section: hatch the "Agree" check-box. %BR%%BR%%BR%%BR% %BR%%BR%%BR%%BR% %BR%%BR%%BR%%BR% 1 Click "Add Application". 1 The application should be registered and you will be shown a API Key and Secret Key for the newly registered application. You can copy these now as you will need these in the steps that follow: %BR%%BR%%BR%%BR% ---+++++ 2 -- Configure ODS to use your LinkedIn 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 LinkedInAPI in the API Name menu, provide the API Key and Secret Key from the new LinkedIn application you created above, and click Add. %BR%%BR%%BR%%BR% 1 ODS is now configured to use LinkedIn. %BR%%BR%%BR%%BR% ---+++Example for Configuring regular ODS user to log in into ODS using LinkedIn 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 LinkedIn 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 LinkedIn. By default the "Member Home Page URI" has http://linkedin.com/in/<your-ODS-user-name> and the "Account URI" has value http://host:port/about/id/entity/http/linkedin.com/in/<your-ODS-user-name>#this . You need to change the <your-ODS-user-name> from these URLs with your LinkedIn account name. %BR%%BR%%BR%%BR% 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 LinkedIn Login is enabled from admin user available at Site Settings -> Members Registrations: %BR%%BR%%BR%%BR% 1 Click Sign In. 1 Go to "LinkedIn" tab: %BR%%BR%%BR%%BR% 1 Click "LinkedIn Login". 1 LinkedIn should ask you to for authorization for the created application from above: %BR%%BR%%BR%%BR% 1 Click "Allow Access" in the LinkedIn 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]] * [[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]]