Virtuoso Server Authentication UI
The Virtuoso Server Authentication UI offers --
- Application Keys and a Protected SPARQL Endpoint: OAuth ("Open Authorization") is used to secure your SPARQL endpoint at the data transmission level. This enables secure interactions with your RDF database from a variety of locations. It also allows controlled access to private data, by selected user profiles.
- WebID Protocol ACLs: The WebID Protocol implements a global, decentralized, distributed, and open yet secure authentication system that functions with existing browsers. Conceptual authentication and authorization is handled by linking a Web ID (also known as a Personal URI) to a public key.
WebID Protocol ACLs may then be used to designate which users (identified and authenticated through their Web ID, Public Key, and browser-installed Certificate) may execute queries through the Virtuoso SPARQL-SSL Endpoint.
Usage
Prerequisites
- A functioning Virtuoso Server
- Installation of the following packages on that Server:
Setting Web ID ACLs (Access Control Lists)
WebID Protocol ACLs are used to control DB-level CRUD functionality -- i.e.,INSERT (Create), SELECT (Read), UPDATE, and DELETE.
Permissions are granted using the standard database model of "Users", "Groups", and "Roles".To set your own WebID Protocol ACLs:
- Go to
http://<cname>:<port>/conductor, where<cname>:<port>are replaced by your local server values - Log in as the
dbauser. - Drill down to Linked Data -> Access Control -> SPARQL-SSL:
Example
- Create SPARQL-SSL based Endpoint
- Execute the steps from this tutorial
Setting ODS Application OAuth keys
OAuth Keys are used to create the Consumer Key and Secret for relevant ODS applications.
To set ODS Application OAuth keys:
- Go to
http://<cname>:<port>/ods, where<cname>:<port>are replaced by your local server values - Click Login
- Log in with a normal ODS User's credentials.
- Click the link for Application settings:
- Click the link for OAuth keys:
Example
This sample scenario shows how to set ODS Application OAuth Keys, and how to then use an application Consumer Key to perform secure SPARQL queries.
The Virtuoso SPARQL-SSL Endpoint
The Virtuoso SPARQL-SSL Endpoint is at https://<cname>:<port>/sparql-ssl, where <cname>:<port> are replaced by your local server values.
Tutorials
References
- Setting up PubSubHub in ODS
- PubSubHubBub Demo Client Example
- Feed subscription via PubSubHub protocol Example
- Setting Up PubSubHub to use WebID Protocol or IP based control lists
- Creating and Using a SPARQL-SSL based Endpoint
- WebID Protocol & SPARQL Endpoint ACLs Tutorial
- SPARQL OAuth Tutorial
- WebID Protocol Support in OpenLink Data Spaces
- Guide to Setting up a X.509 certificate issuer and HTTPS listener and Generating ODS user certificates
- CA Keys Import using Conductor
- Generate an X.509 Certificate hosted WebID Guide
- ODS Briefcase WebID Protocol Share File Guide
- WebID Protocol Specification
- Test WebID Protocol Certificate page
- WebID Protocol Certificate Generation page
- Virtuoso Demo SPARQL-SSL Endpoint