in src/Backend/src/api/adapters/google/looker.py [0:0]
def _sign(self, current_time: str, nonce: str, path: str) -> bytes:
"""
Signs the data with google's expected pattern.
"""
string_to_sign = "\n".join(
[
self.looker_host,
path,
nonce,
current_time,
self.user.session_length,
self.user.external_user_id,
self.user.permissions,
self.user.models,
self.user.group_ids,
self.user.external_group_id,
self.user.user_attributes,
self.user.access_filters,
]
)
signer = hmac.new(
bytearray(self.looker_secret, "UTF-8"), string_to_sign.encode("UTF-8"), sha1
)
return base64.b64encode(signer.digest())