Skip to content

๐Ÿ•ต๏ธ๐Ÿ†”๐Ÿ‘คThe platform for authentication at (profile.)theguardian.com

Notifications You must be signed in to change notification settings

guardian/gateway

Folders and files

NameName
Last commit message
Last commit date
Apr 8, 2025
Jul 22, 2024
Nov 18, 2024
Jul 14, 2023
Apr 5, 2022
Apr 28, 2025
Apr 8, 2025
Apr 30, 2025
Feb 18, 2025
Apr 8, 2025
Nov 18, 2024
Jul 14, 2023
Apr 8, 2025
Aug 8, 2024
Jul 22, 2024
Nov 1, 2024
Aug 1, 2024
Jul 14, 2023
Jul 14, 2023
Nov 18, 2024
Apr 29, 2025
Mar 28, 2024
Jun 18, 2024
Aug 1, 2024
Apr 8, 2025
Jul 15, 2024
Apr 8, 2025
Mar 21, 2024
Sep 5, 2023
Nov 20, 2024
Mar 5, 2025
Jan 13, 2025
Jan 13, 2025
Apr 28, 2025
Apr 29, 2025
Aug 1, 2024
Mar 4, 2025
Feb 18, 2025
Nov 18, 2024

Repository files navigation

Gateway

Description

profile (dot) theguardian (dot) com

Gateway is the frontend to sign-in and registration at the Guardian at profile.theguardian.com.

Team - P&E/Identity & Trust

Having issues with authentication, or would like to report an issue?

Contact our customer service team at [email protected]

Architecture/Overview

See the architecture doc.

Setup

A detailed setup guide can be found in docs/setup.

Quick Start

1. Environment Variables

Populate a .env file by using the examples from .env.example, or follow the instructions in docs/setup to download one from S3. The .env file should never be committed.

2. Running Locally

  1. Install dependencies and start development server:
$ make dev

On the first run, you may see errors in your console, this is because the build folder and project haven't finished compiling yet, just wait for a while for webpack to finish the bundling process.

Development Guides

Need help? Check the development guide first!

Other documentation in the docs folder.

Contributing

  1. Branch off of main, name your branch related to the feature you're implementing, prefix with your initials (e.g. mm/feature-name)
  2. Do your thing
  3. Ensure tests pass:
  • make ci or ./ci.sh
    • This runs linting, type-check, unit tests, build checks
  • make cypress-mocked or ./cypress-mocked
    • This runs Cypress integration tests against a mocked version of the Okta API
  • make cypress-ete or ./cypress-ete
    • This runs Cypress end-to-end tests against the Okta environment defined in .env
    • Be sure to use sparingly, this relies on Mailosaur which has a limited number of emails we can test with it each day
  • You can add -dev to the end of any of the above commands to run the tests against the development server. e.g. make cypress-ete-dev
  1. Make sure your branch is up to date with main
  • By merging or (preferably, if possible) rebasing onto main
  • This makes sure any conflicts are resolved prior to code review
  • If possible, please clean up the commit history to make each commit a clean change to make it more readable
    • e.g. for example when fixing things from a previous commit, or combining multiple commits into a single feature commit
    • git rebase -i <starting commit/branch name> e.g. git rebase -i origin/main
  1. Open a pull request
  • The template can be used for guidance on how to structure the PR, but you don't have to follow it.
  • Draft pull requests, and open pull requests with further pushed commits will not run the Chromatic and cypress-ete on each push/by default.
    • You have to manually opt into running these tests by either marking the draft PR as "Ready for review", or re-requesting a review (usually from "guardian/identity" or a previous reviewer)
    • This change was made to limit the number of builds to Chromatic and emails with Mailosaur to reduce costs with those products
  1. Code will be reviewed and require a ๐Ÿ‘ from a team member before it will be merged
  2. When a PR is merged with main branch, it will ensure that the change is deployed to production.

About

๐Ÿ•ต๏ธ๐Ÿ†”๐Ÿ‘คThe platform for authentication at (profile.)theguardian.com

Topics

Resources

Code of conduct

Stars

Watchers

Forks