Ответ 1
В трех словах: проверка на стороне сервера. Сам FB выдает ошибку, если вы используете неверный ключ для данного сайта. Ключ API не должен быть секретным (в отличие от секретного ключа).
Например, ознакомьтесь с этим плагином Facebook.
На стороне клиента хорошо видна клавиша API. Что мешает другому пользователю получить этот ключ и использовать эту функцию на другом сайте?
Я решил, что очень наивная реализация будет проверять домен, из которого поступает запрос, но такие вещи легко подделать.
Если бы я должен был создать что-то подобное, как бы я мог обеспечить процесс аутентификации?
Я хочу, чтобы большая часть этой работы была на стороне клиента, хотя определенная форма аутентификации сервера потребуется обязательно? Любые ссылки или советы будут очень признательны.
Обновление
Аналогичные question ключи API, которые я нашел полезными.
В трех словах: проверка на стороне сервера. Сам FB выдает ошибку, если вы используете неверный ключ для данного сайта. Ключ API не должен быть секретным (в отличие от секретного ключа).
Я не делал этого сам, но я знаю, что тот тип атаки, о котором вы беспокоитесь, называется Cross-Site Request Forgery (CSRF). Статья в Википедии дает несколько советов о том, как предотвратить ее.