def create_user(data, details=None): try: # Add user salt = generate_wcs(12).decode('utf8') user = User(username=data['username'], role=data['role'], password='******'.join([ 'salted_autobahn_auth', salt, str(settings.ITERATIONS), str(settings.KEYLEN), derive_key(data['password'], salt, settings.ITERATIONS, settings.KEYLEN).decode('ascii') ]), settings={}, created_by=details.caller_authid) user.save() return True except IntegrityError as e: return str(e) except Exception as e: return str(e)
def test_generate_wcs_length(self): for length in [5, 10, 20, 30, 40, 50]: secret = auth.generate_wcs(length) self.assertEqual(type(secret), bytes) self.assertEqual(len(secret), length)
def test_generate_wcs_default(self): secret = auth.generate_wcs() self.assertEqual(type(secret), bytes) self.assertEqual(len(secret), 14)