[DTOSS-10297] basic auth for non-production environments#243
Closed
[DTOSS-10297] basic auth for non-production environments#243
Conversation
This will be used for non-production environments. These environments contain public code and public data, so we don't need to secure authentication, but we want to prevent people outside of the team from mistaking it for a real service, so we will use basic authentication on those environments (as with the prototype)
821421f to
a6ede01
Compare
this removes the need for an extra URL and the redirect behaviour
(not sure why this wasn't failing before)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR adds a login page that authenticates using HTTP basic authentication, configured by environment variables.
This is integrated with django.contrib.auth so that
request.user.is_authenticatedis True. The user that is logged in is based on the username from the basic auth.This page is only shown if
BASIC_AUTH_ENABLEDis set.Login is now required for every view except the login page.
How to test locally
make seedagain to load in the userNot done yet
Jira link
https://nhsd-jira.digital.nhs.uk/browse/DTOSS-10297
Review notes
/test-loginURL that triggers the basic auth. If the auth is successful it redirects to the homepage. But alternatively I could move this to a middleware that triggers on every request, and passes through to the view on success. This is slightly neater as it avoids a redirect, and would simplify our playwright tests. What do you think?