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