Skip to content

Commit cec2ca2

Browse files
committed
Set operator type in encryption
1 parent 2204c6a commit cec2ca2

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

uid2_client/uid2_token_generator.py

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -116,29 +116,29 @@ def generate_uid_token(id_str, master_key, site_id, site_key, identity_scope, to
116116

117117
@staticmethod
118118
def generate_uid2_token_with_debug_info(id_str, master_key, site_id, site_key, params, version):
119-
id = base64.b64decode(id_str)
120119

121-
site_payload = int.to_bytes(site_id, 4, 'big')
122-
site_payload += int.to_bytes(0, 8, 'big') # publisher id
123-
site_payload += int.to_bytes(0, 4, 'big') # client key id
120+
# Publisher Data
121+
site_payload = int.to_bytes(site_id, length=4, byteorder='big')
122+
site_payload += int.to_bytes(0, length=8, byteorder='big') # publisher id
123+
site_payload += int.to_bytes(0, length=4, byteorder='big') # client key id
124124

125-
site_payload += int.to_bytes(0, 4, 'big') # privacy bits
126-
created = params.token_generated_at
127-
site_payload += int.to_bytes(int(created.timestamp()) * 1000, 8, 'big') # established
128-
site_payload += int.to_bytes(int(created.timestamp()) * 1000, 8, 'big') # refreshed
129-
site_payload += id
130-
131-
expiry = params.token_expiry
125+
# User Identity Data
126+
site_payload += int.to_bytes(0, length=4, byteorder='big') # privacy bits
127+
generated_at_timestamp = int(params.token_generated_at.timestamp()) * 1000
128+
site_payload += int.to_bytes(generated_at_timestamp, length=8, byteorder='big') # established
129+
site_payload += int.to_bytes(generated_at_timestamp, length=8, byteorder='big') # last refreshed/generated
130+
site_payload += base64.b64decode(id_str)
132131

133-
master_payload = int.to_bytes(int(expiry.timestamp()) * 1000, 8, 'big')
134-
master_payload += int.to_bytes(int(created.timestamp()) * 1000, 8, 'big') # created
132+
master_payload = int.to_bytes(int(params.token_expiry.timestamp()) * 1000, length=8, byteorder='big') # expiry
133+
master_payload += int.to_bytes(generated_at_timestamp, length=8, byteorder='big') # created
135134

136-
master_payload += int.to_bytes(0, 4, 'big') # operator site id
137-
master_payload += int.to_bytes(0, 1, 'big') # operator type
138-
master_payload += int.to_bytes(0, 4, 'big') # operator version
139-
master_payload += int.to_bytes(0, 4, 'big') # operator key id
135+
# Operator Identity Data
136+
master_payload += int.to_bytes(0, length=4, byteorder='big') # site id
137+
master_payload += int.to_bytes(1, length=1, byteorder='big') # operator type
138+
master_payload += int.to_bytes(0, length=4, byteorder='big') # operator version
139+
master_payload += int.to_bytes(0, length=4, byteorder='big') # operator key id
140140

141-
master_payload += int.to_bytes(site_key.key_id, 4, 'big')
141+
master_payload += int.to_bytes(site_key.key_id, length=4, byteorder='big') # Site Key ID
142142
master_payload += _encrypt_gcm(site_payload, None, site_key.secret)
143143

144144
first_char = id_str[0]
@@ -147,9 +147,9 @@ def generate_uid2_token_with_debug_info(id_str, master_key, site_id, site_key, p
147147
if (first_char == 'F') or (first_char == 'B'):
148148
identity_type = IdentityType.Phone.value
149149

150-
token = int.to_bytes((params.identity_scope << 4 | identity_type << 2) | 3, 1, 'big')
151-
token += int.to_bytes(version, 1, 'big')
152-
token += int.to_bytes(master_key.key_id, 4, 'big')
150+
token = int.to_bytes((params.identity_scope << 4 | identity_type << 2) | 3, length=1, byteorder='big')
151+
token += int.to_bytes(version, length=1, byteorder='big')
152+
token += int.to_bytes(master_key.key_id, length=4, byteorder='big')
153153
token += _encrypt_gcm(master_payload, None, master_key.secret)
154154

155155
if version == AdvertisingTokenVersion.ADVERTISING_TOKEN_V4.value:

0 commit comments

Comments
 (0)