diff --git a/app/main/views/register.py b/app/main/views/register.py index 83328afe9..d5188e5ce 100644 --- a/app/main/views/register.py +++ b/app/main/views/register.py @@ -1,4 +1,3 @@ -import base64 import json import uuid from datetime import datetime, timedelta @@ -171,15 +170,8 @@ def set_up_your_profile(): login_gov_error = request.args.get("error") - invite_data = json.loads(redis_client.get(f"invitedata-{state}")) - user_email = redis_client.get(f"user_email-{state}").decode("utf8") - user_uuid = redis_client.get(f"user_uuid-{state}").decode("utf8") - # invite_data = json.loads(redis_client.get(f"invitedata-{state}")) - # user_email = redis_client.get(f"user_email-{state}").decode("utf8") - # user_uuid = redis_client.get(f"user_uuid-{state}").decode("utf8") - # invited_user_email_address = redis_client.get( - # f"invited_user_email_address-{state}" - # ).decode("utf8") + user_email = redis_client.get(f"user_email-{state}") + user_uuid = redis_client.get(f"user_uuid-{state}") if user_email is None or user_uuid is None: # invite path access_token = sign_in._get_access_token(code) @@ -189,11 +181,10 @@ def set_up_your_profile(): debug_msg( f"Got the user_email {user_email} and user_uuid {user_uuid} from login.gov" ) - # invite_data = state.encode("utf8") - # invite_data = base64.b64decode(invite_data) - # invite_data = json.loads(invite_data) + invite_data = redis_client.get(f"invitedata-{state}") + invite_data = json.loads(invite_data) debug_msg(f"final state {invite_data}") - invited_user_id = invite_data["invited_user_id"] + invited_user_id = invite_data["user_id"] invited_user_email_address = get_invited_user_email_address(invited_user_id) debug_msg(f"email address from the invite_date is {invited_user_email_address}") check_invited_user_email_address_matches_expected( diff --git a/app/notify_client/invite_api_client.py b/app/notify_client/invite_api_client.py index 7dbdca0e5..994ccfd3f 100644 --- a/app/notify_client/invite_api_client.py +++ b/app/notify_client/invite_api_client.py @@ -55,15 +55,26 @@ class InviteApiClient(NotifyAdminAPIClient): nonce_key = f"login-nonce-{unquote(nonce)}" redis_client.set(nonce_key, nonce) # save the nonce to redis. - invite_data_key = f"invitedata-{state}" - redis_invite_data = json.dumps(data) - redis_client.set(invite_data_key, redis_invite_data) - data["nonce"] = nonce # This is passed to api for the invite url. data["state"] = state # This is passed to api for the invite url. resp = self.post(url=f"/service/{service_id}/invite", data=data) - return resp["data"] + + resp_data = resp["data"] + invite_data_key = f"invitedata-{unquote(state)}" + remap_keys = { + "service": "service_id", + "from_user": "from_user_id", + "id": "user_id", + } + redis_invite_data = { + remap_keys[key] if key in remap_keys else key: value + for key, value in resp_data.items() + } + redis_invite_data = json.dumps(redis_invite_data) + redis_client.set(invite_data_key, redis_invite_data) + + return resp_data def get_invites_for_service(self, service_id): return self.get(f"/service/{service_id}/invite")["data"]