Package u1rest :: Package lib :: Package auth :: Module simpleauth
[hide private]
[frames] | no frames]

Source Code for Module u1rest.lib.auth.simpleauth

 1  #Copyright (C) 2011 by John O'Brien 
 2  # 
 3  #Permission is hereby granted, free of charge, to any person obtaining a copy 
 4  #of this software and associated documentation files (the "Software"), to deal 
 5  #in the Software without restriction, including without limitation the rights 
 6  #to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
 7  #copies of the Software, and to permit persons to whom the Software is 
 8  #furnished to do so, subject to the following conditions: 
 9  # 
10  #The above copyright notice and this permission notice shall be included in 
11  #all copies or substantial portions of the Software. 
12  # 
13  #THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
14  #IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
15  #FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
16  #AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
17  #LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
18  #OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 
19  #THE SOFTWARE. 
20  """A set of simple authenticators.""" 
21  from oauth import oauth 
22  import pickle 
23   
24  from u1rest.lib.auth.baseauth import BaseAuthenticator 
25   
26 -class FileStoreAuthenticator(BaseAuthenticator):
27 """A file based Authenticator.""" 28
29 - def __init__(self, filename="credentialfile.txt"):
30 super(FileStoreAuthenticator, self).__init__() 31 self.filename = filename
32
33 - def load_credentials(self):
34 """Load the oauth credentials.""" 35 if self._credentials is None: 36 with open(self.filename, 'rb') as credfile: 37 self._credentials = pickle.load(credfile)
38
39 - def create_and_save_credentials(self, token_name, email, password):
40 """Create an file for credentials. 41 42 @param token_name: A Name to give the OAuth Token. 43 @param email: Your SSO Email. 44 @param password: Your SSO Password. 45 """ 46 self.get_request_token(token_name, email, password) 47 # save the credentials to a file 48 with open(self.filename, 'wb') as credfile: 49 pickle.dump(self._credentials, credfile)
50