auth.py
635 Bytes
from ziggurat_foundations.models.services.user import UserService
from opensipkd.jsonrpc.exc import JsonRpcInvalidLogin
from opensipkd.jsonrpc.auth import Auth as BaseAuth
class Auth(BaseAuth):
def __init__(self, request):
BaseAuth.__init__(self, request.environ)
self.validate_signature()
def validate_signature(self):
user = UserService.get(self.env['HTTP_USERID'])
if not (user and user.api_key):
raise JsonRpcInvalidLogin()
BaseAuth.validate_signature(self, user.api_key)
return user
def generate_api_key():
return UserService.generate_random_string(64)