@@ -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+
7276class 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