@@ -68,6 +68,10 @@ def _make_channel(self, name):
6868 self ._channels [name ] = channel_type (name , self )
6969 return self ._channels [name ]
7070
71+ def sign (self , message ):
72+ return hmac .new (self .secret .encode ('utf-8' ),
73+ message , hashlib .sha256 ).hexdigest ()
74+
7175class Channel (object ):
7276 def __init__ (self , name , pusher ):
7377 self .pusher = pusher
@@ -95,7 +99,7 @@ def trigger(self, event, data={}, socket_id=None, timeout=socket._GLOBAL_DEFAULT
9599 def signed_query (self , event , json_data , socket_id ):
96100 query_string = self .compose_querystring (event , json_data , socket_id )
97101 string_to_sign = "POST\n %s\n %s" % (self .path , query_string )
98- signature = hmac . new ( self .pusher .secret . encode ( 'utf-8' ), string_to_sign .encode ('utf-8' ), hashlib . sha256 ). hexdigest ( )
102+ signature = self .pusher .sign ( string_to_sign .encode ('utf-8' ))
99103 return "%s&auth_signature=%s" % (query_string , signature )
100104
101105 def compose_querystring (self , event , json_data , socket_id ):
@@ -134,7 +138,7 @@ def authentication_string(self, socket_id, custom_string=None):
134138 if custom_string :
135139 string_to_sign += ":%s" % custom_string
136140
137- signature = hmac . new ( self .pusher .secret , string_to_sign , hashlib . sha256 ). hexdigest ( )
141+ signature = self .pusher .sign ( string_to_sign . encode ( 'utf-8' ) )
138142
139143 return "%s:%s" % (self .pusher .key ,signature )
140144
0 commit comments