Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions examples/sample_token_generate_refresh.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ def _usage():

print("Generating Token")
try:
# Always use .do_not_generate_tokens_for_opted_out(), which applies policy=1. Support for policy=0 will be removed soon.
token_generate_response = publisher_client.generate_token(TokenGenerateInput.from_email("testpythonsdksampletokengenerate@email.com").do_not_generate_tokens_for_opted_out())
token_generate_response = publisher_client.generate_token(TokenGenerateInput.from_email("testpythonsdksampletokengenerate@email.com"))
except Exception as e:
print(e)
# decide how to handle exception
Expand Down
25 changes: 9 additions & 16 deletions uid2_client/token_generate_input.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ def __init__(self, identity_type, email_or_phone, need_hash, already_hashed):
self.email_or_phone = email_or_phone
self.need_hash = need_hash
self.already_hashed = already_hashed
self.generate_for_opted_out = True
self.transparency_and_consent_string = None

@staticmethod
Expand All @@ -36,9 +35,9 @@ def do_not_hash(self):
self.need_hash = False
return self

# Always use .do_not_generate_tokens_for_opted_out(), which applies policy=1. Support for policy=0 will be removed soon.
def do_not_generate_tokens_for_opted_out(self):
self.generate_for_opted_out = False
# DEPRECATED: The optout_check/policy param has been removed from /token/generate
# This method will be removed in a future version.
return self

def get_as_json_string(self):
Expand All @@ -52,18 +51,16 @@ def get_as_json_string(self):
def create_json_request_for_generate_token(self):
property = "email" if self.identity_type == IdentityType.Email else "phone"
return self._create_json_request_for_generate_token(property, self.email_or_phone,
self.transparency_and_consent_string,
self.generate_for_opted_out)
self.transparency_and_consent_string)

@staticmethod
def _create_json_request_for_generate_token(property, value, tc_string, generate_for_opted_out):
def _create_json_request_for_generate_token(property, value, tc_string):
json_object = {
property: value
}
if tc_string is not None:
json_object["tcf_consent_string"] = tc_string
if not generate_for_opted_out:
json_object["policy"] = 1

return json.dumps(json_object)

def create_hashed_json_request_for_generate_token(self):
Expand All @@ -75,22 +72,18 @@ def create_hashed_json_request_for_generate_token(self):
raise ValueError("invalid email address")
hashed_normalized_email = get_base64_encoded_hash(normalized_email)
return self._create_json_request_for_generate_token("email_hash", hashed_normalized_email,
self.transparency_and_consent_string,
self.generate_for_opted_out)
self.transparency_and_consent_string)
else: # phone
if not is_phone_number_normalized(self.email_or_phone):
raise ValueError("phone number is not normalized")
hashed_normalized_phone = get_base64_encoded_hash(self.email_or_phone)
return self._create_json_request_for_generate_token("phone_hash", hashed_normalized_phone,
self.transparency_and_consent_string,
self.generate_for_opted_out)
self.transparency_and_consent_string)

def create_already_hashed_json_request_for_generate_token(self):
if self.identity_type == IdentityType.Email:
return self._create_json_request_for_generate_token("email_hash", self.email_or_phone,
self.transparency_and_consent_string,
self.generate_for_opted_out)
self.transparency_and_consent_string)
else: # phone
return self._create_json_request_for_generate_token("phone_hash", self.email_or_phone,
self.transparency_and_consent_string,
self.generate_for_opted_out)
self.transparency_and_consent_string)
Loading