Giter Club home page Giter Club logo

alphagov.account-api's Introduction

Account API

Provides sign in / sign out and attribute storage functionality to other GOV.UK applications.

In production this app currently uses the GOV.UK account manager prototype as an authentication service and the GOV.UK attribute service prototype as a user data store.

This app does not serve any user-facing pages. To see the app working, you must run an app which uses it, such as Finder Frontend.

After starting Finder Frontend, you should be able to access the following links:

When you have set up your local account, you can sign into your account.

Technical documentation

This is a Ruby on Rails app, and should follow our Rails app conventions.

Use GOV.UK Docker to run any of the following commands.

Testing

This repository follows the standards for testing described in the GOV.UK RFC on continuous deployment:

  • code coverage in excess of 95%
  • API contract tests ("pact tests") between the Account API and its consumers
  • a smoke test to check the application is running after a deployment

The default rake task runs all the tests and records code coverage:

bundle exec rake

Changing the Pact tests

If you make changes to the API, you must update the Pact tests.

A Pact test has two parts:

  1. The consumer test (defined in gds-api-adapters), which:

    • specifies the state it expects the provider to be in
    • gives a request to make
    • and a response to match against
  2. The provider configuration (defined in this repo), which defines all of the provider states referenced by the consumer tests.

See the GOV.UK Developer Docs for how to update a Pact test.

Further documentation

Licence

MIT License

alphagov.account-api's People

Contributors

alangabbianelli avatar barrucadu avatar chrisbashton avatar dependabot[bot] avatar huwd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.