This is a simple Identity Provider for WebID. It is meant to help sites that would like to provide WebID authentication to their users quickly. .

If you are hosting such a site then you can rely on this service to help authenticate your users with WebID, without your needing to set up https on your server. When you are satisfied of its usefulness you can deploy it to your site.

There are two stages to get going. First you need to create the login button linking to this service. Then you need to understand how to interpret what will be returned, so that you can write a script to authenticate your users with the given WebID - ie, set a cookie for them.

Create your login link

Create a login button or link that points to this service. This needs to contain an attribute as a URL to a script on your site so that we can send you the response. This will be done by redirecting the user's browser with a signed response containing his WebID. To create such a link enter the URL of your login service here:

Requesting auth service URL:

By clicking on the form you will land on a page whose URL is the one you should enter into your login button/link. You will also see what identity you were logged in as, and given some options to change it.

Understanding the response

The redirected to URL is constructed on the following pattern:

$relyingService?webid=$webid&ts=$timeStamp&sig=$URLSignature

Where the above variables have the following meanings:

Error responses

In case of error the service gets redirected to $relyingService?error=$codeWhere $code can be either one of

Verifiying the WebId

In order for the Relying Party to to be comfortable that the returned WebId was not altered in transit, the whole URL is signed by this server as shown above. Here are the public keys and algorithms this us using:

The signature uses the RSA with SHA-1 algorithm.

The public key used by this service that verifies the signature is: