コード例 #1
0
ファイル: base.py プロジェクト: lcrees/wsgiauth
 def _gettoken(self, environ):
     """Generates authentication tokens."""
     user, path = environ["REMOTE_USER"], getpath(environ)
     agent = environ["HTTP_USER_AGENT"]
     raddr, server = environ["REMOTE_ADDR"], environ["SERVER_NAME"]
     # Onetime secret
     nonce = getsecret()
     # Compute authentication token
     authtoken = self.compute(user, raddr, server, path, agent, nonce)
     # Compute token timeout
     timeout = datetime.fromtimestamp(time.time() + self.timeout).ctime()
     # Generate persistent token
     token = base64.urlsafe_b64encode(authtoken + timeout.encode("hex"))
     # Store onetime token info for future authentication
     self.store[token] = {"user": user, "path": path, "nonce": nonce}
     return token
コード例 #2
0
ファイル: openID.py プロジェクト: lcrees/wsgiauth
 def __call__(self, environ):
     # Base URL
     environ['openid.baseurl'] = geturl(environ, False, False)
     # Query string
     environ['openid.query'] = dict(cgi.parse_qsl(environ['QUERY_STRING']))
     # Path
     path = getpath(environ)
     # Start verification
     if path == '/verify':
         return self.verify(environ)
     # Process response
     elif path == '/process':
         return self.process(environ)
     # Prompt for URL
     else:            
         message = 'Enter an OpenID Identifier to verify.'
         return self.response(message, environ)