Я создал приложение AngularJS, вызывающее некоторые REST API, принадлежащие моему собственному бэкэнду (используя Play! 2.2).
Я использую клиент Facebook OAuth для аутентификации своих пользователей.
Так как это приложение JavaScript, мой токен приложения Facebook не может быть "скрытым".
Таким образом, любой, кто получил токен приложения Facebook, просто прочитав код Javascript, мог получить токен доступа пользователя «легальным» способом и, следовательно, использовать мой REST API.
Как я могу предотвратить это?
Как лучше всего?
Я думаю, что одним из способов было бы использование механизма Facebook OAuth на стороне сервера, а не Facebook Javascript SDK.
В этом случае секрет приложения Facebook будет храниться на моем сервере и недоступен извне.
Но, будучи одностраничным приложением на стороне клиента, я действительно хочу избежать перенаправления страниц и воспользоваться функцией «всплывающее окно», которая поставляется с Facebook Javascript SDK.