PLEASE NOTE
masquerade is the predecessor of masq - please consider using masq from now on, as it is the more modular approach.
masquerade OpenID Server
masquerade is an OpenID server released under the MIT-license.
For updates and further information see the project website.
The source code is available at github - feel free to fork and submit patches :)
Installation
-
Setup your bundle:
- run
bundle install
- run
-
Configure the database:
- rename the file
config/database.yml.example
toconfig/database.yml
- set the values in
database.yml
according to your database - run the migration scripts
bundle exec rake db:create
bundle exec rake db:migrate
- rename the file
-
Configure the application:
- rename the file
config/app_config.yml.example
toapp_config.yml
- set the values in
app_config.yml
according to your environment
- rename the file
-
Run the tests and see if everything seems to work
bundle exec 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:
- http://localhost:3000 (Identity Provider)
- http://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 (http://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
Notes
Inspiration derived from:
- The ruby-openid gem server example
- James Y Stewart: A Ruby on Rails OpenID Server