Example #1
0
    def post(self):
        data = parser.parse_args()
        current_user = User.find_by_username(data['username'])

        if not current_user:
            return {'message': f'User {data["username"]} doesn\'t exist'}, 500

        if User.verify_hash(data['password'], current_user.password):
            access_token = create_access_token(identity = data['username'])
            refresh_token = create_refresh_token(identity = data['username'])
            audit = Audit(username=current_user.username)
            audit.save_to_db()
            return {
                'message': f'Logged in as {current_user.username}',
                'username': data['username'],
                'access_token': access_token,
                'refresh_token': refresh_token
                }
        else:
            return {'message': 'Wrong username or password'}, 500
Example #2
0
    def post(self):
        data = parser.parse_args()

        if User.find_by_username(data['username']):
            return {'message': f'User {data["username"]} already exists. Try different username.'}, 500

        new_user = User(
            username=data['username'],
            password=User.generate_hash(data['password'])
        )
        try:
            new_user.save_to_db()
            access_token = create_access_token(identity = data['username'])
            refresh_token = create_refresh_token(identity = data['username'])
            return {
                'message': 'User {} was created'.format(data['username']),
                'access_token': access_token,
                'refresh_token': refresh_token
            }
        except ValueError:
            return {'message': 'Something went wrong'}, 500