Index: trunk/vnc/vnc_server/vncexternalauth.py
===================================================================
--- trunk/vnc/vnc_server/vncexternalauth.py	(revision 117)
+++ trunk/vnc/vnc_server/vncexternalauth.py	(revision 118)
@@ -66,9 +66,9 @@
             return #FIXME
         token = base64.urlsafe_b64decode(token)
-        token = cPickle.load(token)
+        token = cPickle.loads(token)
         m = hmac.new(TOKEN_KEY, digestmod=sha)
         m.update(token['data'])
         if (m.digest() == token['digest']):
-            data = cPickle.load(token['data'])
+            data = cPickle.loads(token['data'])
             expires = data["expires"]
             if (time.time() < expires):
Index: trunk/web/templates/main.py
===================================================================
--- trunk/web/templates/main.py	(revision 117)
+++ trunk/web/templates/main.py	(revision 118)
@@ -6,4 +6,7 @@
 import string
 import subprocess
+import time
+import cPickle
+import base64
 
 print 'Content-Type: text/html\n'
@@ -207,5 +210,18 @@
     if machine is None: #gave error page already
         return
-    token = 'quentin'
+    
+    TOKEN_KEY = "0M6W0U1IXexThi5idy8mnkqPKEq1LtEnlK/pZSn0cDrN"
+
+    data = {}
+    data["user"] = user
+    data["machine"]=machine
+    data["expires"]=time.time()+(5*60)
+    pickledData = cPickle.dumps(data)
+    m = hmac.new(TOKEN_KEY, digestmod=sha)
+    m.update(pickledData)
+    token = {'data': pickledData, 'digest': m.digest()}
+    token = cPickle.dumps(token)
+    token = base64.urlsafe_b64encode(token)
+    
     d = dict(user=user,
              machine=machine,
