Single sign-on service for GOV.UK
Switch branches/tags
Clone or download
barrucadu Merge pull request #925 from alphagov/dependabot/bundler/govuk_publis…

Bump govuk_publishing_components from 12.16.0 to 12.20.0
Latest commit 658be5f Dec 12, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Make error messages more helpful Nov 20, 2018
bin Fix all Rubocop violations Oct 1, 2018
config Add /healthcheck endpoint Oct 22, 2018
db Fix Doorkeeper breaking changes Nov 13, 2018
doc Rename "passphrase" to "password" Oct 1, 2018
lib Update Orgs api endpoint Nov 28, 2018
log initial import, default rails 3.2.3 build Apr 2, 2012
public remove the default index.html Apr 2, 2012
script Fix all Rubocop violations Oct 1, 2018
spec Update JS/CSS includes after components upgrade Oct 19, 2018
test Make error messages more helpful Nov 20, 2018
vendor Use `on(input)` for checking password reset Oct 5, 2018
.agignore Ignore dictionary file when searching via `ag` Mar 8, 2016
.gitignore Re-add SQLite development dependency for GDS SSO build Apr 13, 2015
.rspec Add RSpec to test policies Jan 15, 2015
.rubocop.yml Disable some of the Rubocop rules Oct 1, 2018
.ruby-version Update .ruby-version to 2.5.3 Oct 22, 2018
Dockerfile Update Dockerfile to 2.5.3 Oct 22, 2018
Gemfile.lock Bump govuk_publishing_components from 12.16.0 to 12.20.0 Dec 10, 2018
Jenkinsfile Only lint diffs for now Oct 1, 2018
LICENCE Add MIT Licence Sep 14, 2015
Procfile Use foreman to run application in docker environment Feb 16, 2018 s/signin/signon Jan 26, 2017
Rakefile Remove all trailing whitespace Apr 8, 2015


Signon is a centralised OAuth2 based single sign-on provider for GDS services that provides username/password and 2-Factor authentication.

Live example

Integration Environment Signon

Technical documentation

Devise is used to provide username password sign-in, and Doorkeeper as an OAuth 2 provider.

Details of our interpretation of OAuth are provided in an accompanying document


Various Rubygems

MySQL or Postgres for main data storage. We use MySQL in GOV.UK Production

Redis/Sidekiq for ActiveJob asynchronous tasks

Running the application

The web application itself is run like any other Rails app, for example:

script/rails s

In development, you can run sidekiq to process background jobs:

bundle exec sidekiq -C config/sidekiq.yml

Running the test suite

bundle exec rake

Setup and usage

See accompanying Usage Documentation


MIT License