def _sign()

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())