Beispiel #1
0
def _login(use_cookie):
    """User login helper function."""
    data = _get_request_data()
    if 'email' not in data or 'password' not in data:
        raise exception_handler.BadRequest(
            'missing email or password in data'
        )
    if 'expires' not in data:
        expire_timestamp = (
            datetime.datetime.now() + app.config['REMEMBER_COOKIE_DURATION']
        )
    else:
        expire_timestamp = util.parse_datetime(
            data['expires'], exception_handler.BadRequest
        )

    data['expire_timestamp'] = expire_timestamp
    user = auth_handler.authenticate_user(**data)
    if not login_user(user, remember=data.get('remember', False)):
        raise exception_handler.UserDisabled('failed to login: %s' % user)

    user_log_api.log_user_action(user.id, request.path)
    response_data = {'id': user.id}
    user_api.record_user_token(
        user, user.token, user.expire_timestamp
    )
    if not use_cookie:
        response_data['token'] = user.token
        response_data['expires'] = util.format_datetime(user.expire_timestamp)

    return utils.make_json_response(200, response_data)
Beispiel #2
0
 def test_get_user_object_from_token(self):
     token = user_api.record_user_token(
         self.user_object,
         'test_token',
         datetime.datetime.now() + datetime.timedelta(seconds=10000)
     )
     self.assertIsNotNone(token)
Beispiel #3
0
 def test_get_user_object_from_token(self):
     token = user_api.record_user_token(
         'test_token',
         datetime.datetime.now() + datetime.timedelta(seconds=10000),
         user=self.user_object,
     )
     self.assertIsNotNone(token)
Beispiel #4
0
 def test_record_user_token(self):
     token = user_api.record_user_token(
         self.user_object,
         'test_token',
         datetime.datetime.now() + datetime.timedelta(seconds=10000)
     )
     self.assertIsNotNone(token)
     self.assertEqual(token['token'], 'test_token')
Beispiel #5
0
 def test_record_user_token(self):
     token = user_api.record_user_token(
         'test_token',
         datetime.datetime.now() + datetime.timedelta(seconds=10000),
         user=self.user_object,
     )
     self.assertIsNotNone(token)
     self.assertEqual(token['token'], 'test_token')