Merge pull request #1020 from GSA/notify-api-585

reformat private key (notify-api-585)
This commit is contained in:
Carlo Costino
2023-12-15 15:22:06 -05:00
committed by GitHub
4 changed files with 30 additions and 3 deletions

View File

@@ -26,10 +26,24 @@ from app.utils import hide_from_search_engines
from app.utils.login import is_safe_redirect_url
def _reformat_keystring(orig):
new_keystring = orig.replace("-----BEGIN PRIVATE KEY-----", "")
new_keystring = new_keystring.replace("-----END PRIVATE KEY-----", "")
new_keystring = new_keystring.strip()
new_keystring = "\n".join(
["-----BEGIN PRIVATE KEY-----", new_keystring, "-----END PRIVATE KEY-----"]
)
new_keystring = f"{new_keystring}\n"
return new_keystring
def _get_access_token(code, state):
client_id = os.getenv("LOGIN_DOT_GOV_CLIENT_ID")
access_token_url = os.getenv("LOGIN_DOT_GOV_ACCESS_TOKEN_URL")
keystring = os.getenv("LOGIN_PEM")
if " " in keystring:
keystring = _reformat_keystring(keystring)
payload = {
"iss": client_id,
"sub": client_id,
@@ -174,7 +188,7 @@ def sign_in():
current_app.logger.info(
f"LOGIN_DOT_GOV_SIGNOUT_REDIRECT={os.getenv('LOGIN_DOT_GOV_SIGNOUT_REDIRECT')}"
)
initial_signin_url = os.getenv('LOGIN_DOT_GOV_INITIAL_SIGNIN_URL')
initial_signin_url = os.getenv("LOGIN_DOT_GOV_INITIAL_SIGNIN_URL")
current_app.logger.info(f"LOGIN_DOT_GOV_INITIAL_SIGNIN_URL={initial_signin_url}")
return render_template(

View File

@@ -15,7 +15,9 @@ def test_non_logged_in_user_can_see_homepage(
client_request.logout()
page = client_request.get("main.index", _test_page_title=False)
assert page.h1.text.strip() == ("Reach people where they are with government-powered text messages")
assert page.h1.text.strip() == (
"Reach people where they are with government-powered text messages"
)
assert page.select_one("a.usa-button.usa-button--big")["href"] == url_for(
"main.sign_in",

View File

@@ -3,6 +3,7 @@ import uuid
import pytest
from flask import url_for
from app.main.views.sign_in import _reformat_keystring
from app.models.user import User
from tests.conftest import SERVICE_ONE_ID, normalize_spaces
@@ -39,6 +40,16 @@ def test_render_sign_in_template_with_next_link_for_password_reset(client_reques
)
def test_reformat_keystring():
orig = "-----BEGIN PRIVATE KEY----- blahblahblah -----END PRIVATE KEY-----"
expected = """-----BEGIN PRIVATE KEY-----
blahblahblah
-----END PRIVATE KEY-----
"""
reformatted = _reformat_keystring(orig)
assert reformatted == expected
def test_sign_in_explains_session_timeout(client_request):
client_request.logout()
page = client_request.get("main.sign_in", next="/foo")

View File

@@ -632,7 +632,7 @@ def test_should_show_sms_template_with_downgraded_unicode_characters(
fake_uuid,
):
msg = "here:\tare some “fancy quotes” and zero\u200Bwidth\u200Bspaces"
rendered_msg = 'here: are some “fancy quotes” and zerowidthspaces'
rendered_msg = "here: are some “fancy quotes” and zerowidthspaces"
mocker.patch(
"app.service_api_client.get_service_template",