@@ -69,6 +69,10 @@ def _make_channel(self, name):
69
69
self ._channels [name ] = channel_type (name , self )
70
70
return self ._channels [name ]
71
71
72
+ def sign (self , message ):
73
+ return hmac .new (self .secret .encode ('utf-8' ),
74
+ message , hashlib .sha256 ).hexdigest ()
75
+
72
76
class Channel (object ):
73
77
def __init__ (self , name , pusher ):
74
78
self .pusher = pusher
@@ -96,7 +100,7 @@ def trigger(self, event, data={}, socket_id=None, timeout=socket._GLOBAL_DEFAULT
96
100
def signed_query (self , event , json_data , socket_id ):
97
101
query_string = self .compose_querystring (event , json_data , socket_id )
98
102
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' ))
100
104
return "%s&auth_signature=%s" % (query_string , signature )
101
105
102
106
def compose_querystring (self , event , json_data , socket_id ):
@@ -138,7 +142,7 @@ def authentication_string(self, socket_id, custom_string=None):
138
142
if custom_string :
139
143
string_to_sign += ":%s" % custom_string
140
144
141
- signature = hmac . new ( self .pusher .secret , string_to_sign , hashlib . sha256 ). hexdigest ( )
145
+ signature = self .pusher .sign ( string_to_sign . encode ( 'utf-8' ) )
142
146
143
147
return "%s:%s" % (self .pusher .key ,signature )
144
148
0 commit comments