Intereting Posts
Как разместить мои библиотеки перед android.jar, отредактировав build.gradle в Android-Studio Автоматическое исполнение Android-проекта с git с помощью Android Studio / Gradle Почему предупреждение: невозможно найти дополнительную библиотеку: org.apache.http.legacy происходит? NotificationManager.cancel (id) не работает внутри широковещательного приемника Когда вы будете использовать разрешение BRICK? EditText с цифровой клавиатурой по умолчанию, но с буквенными символами Как создать ключ RSA ключей хранилища Android с бесконечной достоверностью? Рядом API, каков правильный способ сканирования маяков в фоновом режиме? Как отобразить фракции в андроиде? Как получить информацию о широте и долготе из изображения Charles Proxy for Genymotion останавливает 10.0.3.2 localhost traffic Как обрабатывать параметры, которые могут быть ARRAY или OBJECT в Retrofit на Android? Просмотр локального веб-сервера на Mac с именем компьютера, а не IP-адресом Honeycomb Android-эмулятор – собака медленная – будет ли она управляться до официального релиза? Android studio 2.0 Preview 8 с плагином 2.0.0-alhpa8, предупреждение о сохранении памяти, несмотря на размер кучи до 4 ГБ

Как я могу аутентифицировать свои приложения webservice после использования Facebook SSO на Android?

Я создаю приложение для Android, которое использует SSO для входа в систему, и я не уверен, как аутентифицироваться с помощью своих собственных веб-сервисов после входа в FB. Когда пользователь сначала открывает мое приложение, они заходят в Facebook, разрешают моему приложению некоторые привилегии и продолжают работать в моем приложении. Эта часть отлично работает, но теперь, чтобы использовать мое приложение, им нужно создать учетную запись на моем сервере и поговорить с моими веб-сервисами.

Прямо сейчас у меня есть вызов аутентифицировать webservice на моем сервере, который добавляет их идентификатор Facebook и другую базовую информацию в базу данных и в то же время выполняет обмен ключами Diffie-Hellman, поэтому любые будущие вызовы веб-сервисов могут быть зашифрованы с помощью общего ключа , Но проблема в том, что самый первый первоначальный вызов для создания этой учетной записи и создания этого общего ключа, как мне аутентифицировать это? Откуда я знаю, что этот человек действительно тот, кто просто аутентифицировался с помощью Facebook, а не только тот, кто нашел URL-адрес моего веб-сервиса и создает учетные записи и сохраняет ключи?

Solutions Collecting From Web of "Как я могу аутентифицировать свои приложения webservice после использования Facebook SSO на Android?"

Facebook SSO возвращает токен доступа. Если вы хотите, вы можете передать это на свой сервер, и ваш сервер может позвонить в API Facebook, чтобы проверить, что это действительный токен доступа для этого пользователя (например, вызывая https://graph.facebook.com/ Me? Access_token = ACCESS_TOKEN ) – если это так, вы хороши и подтвердили, что пользователь – это тот, кто они говорят (или хакер с достаточным доступом, чтобы иметь действительный токен аутентификации для вашего приложения для Facebook, на котором Указывают, что их личность была скомпрометирована в конце Facebook).

Я думаю, вам нужно передать пароль вместе с вашей основной информацией о создании профиля. В целом, SSO в Facebook предоставляет только вашему клиентскому приложению доступ к пользователю профиля, но он не гарантирует ваши веб-сервисы, что вызывающий абонент является фактическим владельцем этой учетной записи FB. Я боюсь, что последующие вызовы от клиента Android к веб-службе должны быть аутентифицированы с помощью обычного пароля пользователя / имени (отличного от учетной записи FB), если вы хотите быть уверенным, что вызывающий абонент является тем, кто получил ключ первым (Независимо от того, какой профиль Facebook он может связать).