Skip to content

Commit 1d2fe69

Browse files
committed
Merge pull request #34 from iurisilvio/sign_message
Pusher.sign
2 parents 6da0b76 + 5eaed61 commit 1d2fe69

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

pusher/__init__.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ def _make_channel(self, name):
6969
self._channels[name] = channel_type(name, self)
7070
return self._channels[name]
7171

72+
def sign(self, message):
73+
return hmac.new(self.secret.encode('utf-8'),
74+
message, hashlib.sha256).hexdigest()
75+
7276
class Channel(object):
7377
def __init__(self, name, pusher):
7478
self.pusher = pusher
@@ -96,7 +100,7 @@ def trigger(self, event, data={}, socket_id=None, timeout=socket._GLOBAL_DEFAULT
96100
def signed_query(self, event, json_data, socket_id):
97101
query_string = self.compose_querystring(event, json_data, socket_id)
98102
string_to_sign = "POST\n%s\n%s" % (self.path, query_string)
99-
signature = hmac.new(self.pusher.secret.encode('utf-8'), string_to_sign.encode('utf-8'), hashlib.sha256).hexdigest()
103+
signature = self.pusher.sign(string_to_sign.encode('utf-8'))
100104
return "%s&auth_signature=%s" % (query_string, signature)
101105

102106
def compose_querystring(self, event, json_data, socket_id):
@@ -138,7 +142,7 @@ def authentication_string(self, socket_id, custom_string=None):
138142
if custom_string:
139143
string_to_sign += ":%s" % custom_string
140144

141-
signature = hmac.new(self.pusher.secret, string_to_sign, hashlib.sha256).hexdigest()
145+
signature = self.pusher.sign(string_to_sign.encode('utf-8'))
142146

143147
return "%s:%s" % (self.pusher.key,signature)
144148

0 commit comments

Comments
 (0)