We got nominated! Help us out and vote for GitHub as Best Bootstrapped Startup of 2008. (You can vote once a day.) [ hide ]

public
Description: A Ruby on Rails-based OpenID server for all ya identity providers out there. It is pretty close to the current OpenID specifications and supports SReg, AX (only fetch requests, yet) and PAPE
Home | Edit | New

Home

masquerade OpenID Server

masquerade is an OpenID server released under the MIT-license.

For updates and further information see the project website or try the demo (login = test / password = test123).

Feel free to fork and submit patches :)

Installation

  1. Install the required gems

    rake gems:install

  2. Configure the database:
    • rename the file config/database.yml.example to database.yml
    • set the values in database.yml according to your database
    • run the migration scripts

      rake db:migrate

  3. Configure the application:
    • rename the file config/app_config.yml.example to app_config.yml
    • set the values in app_config.yml according to your environment
  4. Run the tests and see if everything seems to work

    rake test

Testing the installation

You can test the functionality in your local environment starting two instances: One as your Identity Provider/OpenID Server and another one as Relying Party.

ruby script/server
ruby script/server -p 3001

Open your browser with these urls:

  • localhost:3000 (Identity Provider)
  • localhost:3001/consumer (Relying Party testsuite)

First you have to create an account at the Identity Provider, after that you will be able to use the issued OpenID URL (localhost:3000/YOUR_LOGIN) to send requests from the Relying Party to the server.

Use the options provided by the OpenID verification form to test several aspects of the client-server communication (like requesting simple registration data).

Introduction

The main functionality is in the server controller, which is the endpoint for incoming OpenID requests. The server controller is supposed to only interact with relying parties a.k.a. consumer websites. It includes the OpenidServerSystem module, which provides some handy methods to access and answer OpenID requests.

TODO

  • let the user set a standard persona which is used as default for requests
  • let the user choose to display information on his identity page (hCard)
  • add support for Attribute Exchange Store Requests

Notes

Inspiration derived from:

  • The ruby-openid gem server example
  • James Y Stewart: A Ruby on Rails OpenID Server

Contact

Dennis Blöte: mail@dennisbloete.de

Last edited by dbloete, 2 months ago
Home | Edit | New
Versions: