Как Facebook проверяет мобильные приложения

Предположим, вы создаете собственное приложение для Android, которое использует вход через Facebook. Для этого сначала вам нужно создать приложение Facebook и настроить имя пакета, имя класса, ключевые хэши вашего приложения для Android. Я предполагаю, что подлинность приложения проверяется с помощью этого хэша ключа. но проблема в том, что после того, как мы настроим этот ключ в приложении Facebook, мы никогда не настроим его в нашем мобильном приложении и не отправим его в Facebook, когда делаем вызовы API. Так как же Facebook подтверждает, что это оригинальное приложение, которое выполняет вызов API?


person Sajith Dilshan    schedule 29.11.2013    source источник
comment
на самом деле, я думаю, что сгенерированный файл .apk всегда подписывается ключами debug.keystore.   -  person Rachit Mishra    schedule 29.11.2013
comment
Не в соответствии с тем, что я нашел в Google. Вы должны подписать с другим закрытым ключом, когда вы выпускаете приложение   -  person Sajith Dilshan    schedule 02.12.2013


Ответы (1)


Всякий раз, когда вы помещаете приложение на устройство (будь то через eclipse/IntelliJ или путем создания .apk), вы подписываете его с помощью ключа. Когда вы входите через Facebook с помощью SSO, собственное приложение Facebook может получить подпись вызывающего приложения и передать ее на сервер для проверки.

person Ming Li    schedule 30.11.2013
comment
Прежде всего спасибо за ответ. Но что, если на моем устройстве Android не установлено собственное приложение Facebook, то как сервер Facebook получает подпись моего приложения? - person Sajith Dilshan; 02.12.2013
comment
Это не так, но тогда вы не получите токен доступа SSO, который живет дольше. См. различия между краткосрочными и долгосрочными токенами здесь developers.facebook. com/docs/facebook-login/access-tokens - person Ming Li; 02.12.2013
comment
Я понимаю. Поэтому, если я знаю идентификатор приложения fb для приложения, которое было создано кем-то, я мог бы просто использовать его в своем мобильном приложении, чтобы получить недолговечный токен доступа для доступа к информации о пользователе (мне не нужно создавать приложение fb для моего мобильное приложение). Я прав? - person Sajith Dilshan; 03.12.2013
comment
Вы забываете, что пользователь все равно должен вас авторизовать. Предположительно, если ваше приложение FOO, и они увидят на странице авторизации приложение BAR, они поймут, что что-то не так. Пользователь также может деавторизовать любое приложение в любое время. - person Ming Li; 04.12.2013
comment
Я понимаю. Большое спасибо за ответ на мой вопрос. Кажется, я получил то, что мне нужно. Еще раз спасибо. - person Sajith Dilshan; 05.12.2013