Esempio n. 1
0
 def delete_account(self, request, password, otp=None):
     if not settings['deletion']:
         return json_error('Account deletion disabled!')
     client = request.environ['yubiauth.client']
     user = request.environ['yubiauth.user']
     try:
         client.authenticate(user.name, password, otp)
         user.delete()
         return json_response(True)
     except:
         return json_error('Invalid credentials!')
Esempio n. 2
0
 def delete_account(self, request, password, otp=None):
     if not settings['deletion']:
         return json_error('Account deletion disabled!')
     client = request.environ['yubiauth.client']
     user = request.environ['yubiauth.user']
     try:
         client.authenticate(user.name, password, otp)
         user.delete()
         return json_response(True)
     except:
         return json_error('Invalid credentials!')
Esempio n. 3
0
 def assign_yubikey(self, request, yubikey, password, otp=None):
     client = request.environ['yubiauth.client']
     user = request.environ['yubiauth.user']
     try:
         client.authenticate(user.name, password, otp)
         prefix = yubikey[:-32]
         if not validate_otp(yubikey):
             return json_error('Invalid OTP for new YubiKey!')
         if not prefix in user.yubikeys:
             user.assign_yubikey(prefix)
         return json_response(True)
     except:
         return json_error('Invalid credentials!')
Esempio n. 4
0
 def assign_yubikey(self, request, yubikey, password, otp=None):
     client = request.environ['yubiauth.client']
     user = request.environ['yubiauth.user']
     try:
         client.authenticate(user.name, password, otp)
         prefix = yubikey[:-32]
         if not validate_otp(yubikey):
             return json_error('Invalid OTP for new YubiKey!')
         if not prefix in user.yubikeys:
             user.assign_yubikey(prefix)
         return json_response(True)
     except:
         return json_error('Invalid credentials!')
Esempio n. 5
0
 def revoke_yubikey(self, request, code):
     client = request.environ['yubiauth.client']
     try:
         client.revoke(code)
         return json_response(True)
     except:
         return json_error('Invalid code!')
Esempio n. 6
0
 def revoke_yubikey(self, request, code):
     client = request.environ['yubiauth.client']
     try:
         client.revoke(code)
         return json_response(True)
     except:
         return json_error('Invalid code!')
Esempio n. 7
0
 def change_password(self, request, oldpass, newpass, otp=None):
     client = request.environ['yubiauth.client']
     user = request.environ['yubiauth.user']
     try:
         client.authenticate(user.name, oldpass, otp)
         user.set_password(newpass)
         return json_response(True)
     except:
         return json_error('Invalid credentials!')
Esempio n. 8
0
 def generate_revocation(self, request, password, otp):
     client = request.environ['yubiauth.client']
     user = request.environ['yubiauth.user']
     try:
         client.authenticate(user.name, password, otp)
         code = client.generate_revocation(otp[:-32])
         return json_response(code)
     except:
         return json_error('Invalid credentials!')
Esempio n. 9
0
    def rename_user(self, request, username_or_id, username):
        user = self._get_user(request, username_or_id)
        try:
            request.auth.get_user(username)
            return json_error('User "%s" already exists!' % username)
        except:
            user.name = username

        return no_content()
Esempio n. 10
0
    def rename_user(self, request, username_or_id, username):
        user = self._get_user(request, username_or_id)
        try:
            request.auth.get_user(username)
            return json_error('User "%s" already exists!' % username)
        except:
            user.name = username

        return no_content()
Esempio n. 11
0
 def generate_revocation(self, request, password, otp):
     client = request.environ['yubiauth.client']
     user = request.environ['yubiauth.user']
     try:
         client.authenticate(user.name, password, otp)
         code = client.generate_revocation(otp[:-32])
         return json_response(code)
     except:
         return json_error('Invalid credentials!')
Esempio n. 12
0
 def change_password(self, request, oldpass, newpass, otp=None):
     client = request.environ['yubiauth.client']
     user = request.environ['yubiauth.user']
     try:
         client.authenticate(user.name, oldpass, otp)
         user.set_password(newpass)
         return json_response(True)
     except:
         return json_error('Invalid credentials!')
Esempio n. 13
0
 def login(self, request, username=None, password=None, otp=None):
     client = request.environ['yubiauth.client']
     try:
         session = client.create_session(username, password, otp)
         request.environ['beaker.session'].update(session)
         session.delete()
         return json_response(True)
     except:
         log.info('Login failed for username=%s', username)
         log.debug('Login failure:', exc_info=True)
         return json_error('Invalid credentials!')
Esempio n. 14
0
 def login(self, request, username=None, password=None, otp=None):
     client = request.environ['yubiauth.client']
     try:
         session = client.create_session(username, password, otp)
         request.environ['beaker.session'].update(session)
         session.delete()
         return json_response(True)
     except:
         log.info('Login failed for username=%s', username)
         log.debug('Login failure:', exc_info=True)
         return json_error('Invalid credentials!')
Esempio n. 15
0
 def create_user(self, request, username, password):
     try:
         user = request.auth.create_user(username, password)
         request.auth.commit()
         url = '%s/users/%d' % (request.script_name, user.id)
         return json_response({
             'id': user.id,
             'name': user.name
         }, location=url, status=201)
     except Exception, e:
         return json_error(e.message)
Esempio n. 16
0
 def create_user(self, request, username, password):
     try:
         user = request.auth.create_user(username, password)
         request.auth.commit()
         url = '%s/users/%d' % (request.script_name, user.id)
         return json_response({
             'id': user.id,
             'name': user.name
         },
                              location=url,
                              status=201)
     except Exception, e:
         return json_error(e.message)
Esempio n. 17
0
 def session_required(self, request, e):
     return json_error('Session required!')
Esempio n. 18
0
 def session_required(self, request, e):
     return json_error('Session required!')