Using Facebook OAuth key-secret Configuration Guidelines
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:
- Get an API Key -- for identification;
- Get an Secret Key -- for hash salting;
- 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 Facebook user account
- Administrative (DBA) access to a Virtuoso Server instance, on which the following have been installed --
Steps for Configuring Facebook API Key and Secret Key
1 -- Get Facebook API Key and Secret Key for use with ODS
- Browse to <https://developers.facebook.com/apps> and enter your Facebook use credentials:
- Click on Create New App:
- In the presented form:
-
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/ :
- Click "Save Changes".
2 - Configure ODS to use your Facebook Consumer Key and Secret
- Browse to your Virtuoso + ODS instance,
http://<cname>[:<port>]/ods
, e.g., <http://example.com/ods/>, and click Sign In.
- Log in as a Virtuoso+ODS user with Administrator privileges, e.g.,
dba
.
- Click on Site Settings:
- Click on Login Authentication Keys:
- Select
FacebookAPI in the API Name menu, provide the API Key and Secret from the new Facebook application you created above, and click Add.
- ODS is now configured to use
Facebook.
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:
- Browse to your Virtuoso + ODS instance,
http://<cname>[:<port>]/ods
, e.g., <http://example.com/ods/>.
- Log in as a Virtuoso+ODS user with normal privileges, e.g.,
demo
.
- Go to Profile Edit->Personal->Online Accounts:
- Click "Add":
- In the presented form select service Facebook.
By default the "
Member Home Page URI
" hashttp://www.facebook.com/<your-ODS-user-name>
and the "Account URI
" has valuehttp://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.
- Finally click "Save".
- Log out from ODS DataSpace.
- Make sure Facebook Login is enabled from admin user available at Site Settings -> Members Registrations:
- Click Sign In.
- Go to "Facebook" tab:
- Click "Facebook Login".
- Facebook should ask you to for authorization for the created application from above:
- Click "Log In with Facebook":
- On a successful authorization you should be redirected back to the ODS DataSpace:
- Click "Facebook Login" and should be logged in as the regular user from above, e.g: user "demo".
Related
-
Set up Login Authentication Keys in ODS
- Examples using 3rd Party Accounts for register/log in in ODS DataSpace:
- Using LinkedIn -- OAuth consumer key-secret Configuration Guidelines
- Using Twitter -- OAuth consumer key-secret Configuration Guidelines
- Examples using 3rd Party Services for data management:
- Using ODS-Briefcase to mediate access to data stored on Amazon S3
- Using ODS-Briefcase to mediate access to data stored on Box (a/k/a box.com or box.net)
- Using ODS-Briefcase to mediate access to data stored on DropBox
- Using ODS-Briefcase to mediate access to data stored on Google Drive
- Using ODS-Briefcase to mediate access to data stored on Microsoft OneDrive (formerly SkyDrive)
- Virtuoso Cartridges Configuration:
- OAuth Generate Keys for ODS Controllers (Web Services)
- Use OAuth for authentication, SPARQL queries, Ubiquity commands
- Use the Virtuoso OAuth Test tool to manage my Data Space data
- Manipulate User Data via REST using authentication based on OAuth, sessions, or password hash
- ODS Programmers' Guide
- Virtuoso OAuth Programmers' Guide
- Examples of ODS Application Authentication using OAuth
- OAuth Ubiquity Tutorial
- SPARQL OAuth Tutorial