%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]]