Как безопасно отправлять баллы из приложения, которое использует только вход в facebook?

У нашего приложения для Android есть только вход в facebook .

Вот что происходит на сервере:

Пользователь создается, когда запрос POST отправляется с использованием токена доступа пользователя facebook в теле.

Всякий раз, когда пользователь создается по запросу POST, токен api генерируется и отправляется в виде ответа следующим образом:

{"message":"User Successfully Created","api_token":"ACITyBKf0jKrfqOFumTMcaEEJ8jU151crRdESMPmBj8zbeENslULHfNXlKeo"} 

Я сделал это, потому что токен api, сгенерированный на сервере, хранится в локальном хранилище приложений Android и необходим для выполнения других запросов.

Теперь, если пользователь уже существует на сервере, ответ будет

 {"message":"User Already Exists!!","api_token":"ACITyBKf0jKrfqOFumTMcaEEJ8jU151crRdESMPmBj8zbeENslULHfNXlKeo"} 

Это произойдет, если пользователь удалит приложение и снова установит его.

Теперь, чтобы отправить оценку, запрос PATCH должен быть отправлен с:

Заголовки:

 Content-Type:application/x-www-form-urlencoded api_token:ACITyBKf0jKrfqOFumTMcaEEJ8jU151crRdESMPmBj8zbeENslULHfNXlKeo fb_id:xxxxxxxxxx 

Тело:

 distance:2 golds:19 xp:23 

(Примечание: я опробовал вышеуказанный запрос, используя почтальон )

Теперь проблема в том, что я заметил лазейку.

Человек может узнать свой токен доступа к пользователю facebook и свой идентификатор facebook в любое время. Таким образом, если они делают запрос POST с этим токеном доступа пользователя, они получат api_token (в ответе «Пользователь уже существует !!»). И как только у них есть api_token и fb_id, они могут сделать запрос PATCH, чтобы изменить свои оценки на все, что захотят.

Что я делаю не так? Как я могу защитить свой сервер от взлома?

Пожалуйста, помогите мне. Я новичок в дизайне api.

благодаря