2
from hashlib import sha1
3
from nova import datastore
5
class FakeAuth(object):
6
def __init__(self, store=datastore.Redis.instance):
8
self.auth_hash = 'rs_fake_auth'
9
self._store.hsetnx(self.auth_hash, 'rs_last_id', 0)
11
def authorize_token(self, token):
12
user = self._store.hget(self.auth_hash, token)
14
return json.loads(user)
17
def authorize_user(self, user, key):
18
token = sha1("%s_%s" % (user, key)).hexdigest()
19
user = self._store.hget(self.auth_hash, token)
23
return token, json.loads(user)
25
def add_user(self, user, key):
26
last_id = self._store.hget(self.auth_hash, 'rs_last_id')
27
token = sha1("%s_%s" % (user, key)).hexdigest()
30
'cdn_management_url':'cdn_management_url',
31
'storage_url':'storage_url',
32
'server_management_url':'server_management_url'
34
new_user = self._store.hsetnx(self.auth_hash, token, json.dumps(user))
36
self._store.hincrby(self.auth_hash, 'rs_last_id')