Intereting Posts
Программно задавать маржу / заполнение текстового поля в виде списка Завершите старую активность и запустите новую или наоборот Ионные запросы возвращают 404 только на Android, в Chrome он отлично работает Android получить и разобрать Google Directions Масштабируемый мобильный контент с использованием метатекста viewport Fade In Fade Out Android Animation в Java AppCompatActivity.onCreate можно вызывать только из одной и той же группы библиотек Как начать работу в другом приложении? Как удалить стандартное фоновое изображение ImageButton? Какова самая надежная библиотека HTTP для Android? SDK Местоположение не найдено в андроид-студии IntentService onHandleIntent (Intent) получает нулевой аргумент Заставить элемент ListView оставаться нажатым после нажатия? Вложенные фрагменты – IllegalStateException "Не удается выполнить это действие после onSaveInstanceState" Как установить конкретный шрифт для текста кнопки в Android?

Как правильно внедрить linkedIn login?

У меня есть приложение andorid, и я пытаюсь реализовать связанный вход в него. SDK LinkedIn был успешно интегрирован, и я получаю информацию о пользователях вместе с адресом электронной почты.

Вот как мое приложение работает для входа в google:

1) получить токен доступа на мобильных устройствах

2) отправить адрес электронной почты с маркером доступа к серверу

3) получить информацию о пользователях с токеном доступа, полученным через webapi google.

4) если ответное письмо соответствует адресу электронной почты, полученному с мобильного устройства, то проверьте, существует ли учетная запись или нет этого адреса электронной почты. Если не создать учетную запись и войти в другой мудрый логин.


Проблема со связаннымиIn:

Маркер доступа, который я получил, принадлежит мобильному sdk, и я не могу использовать тот же токен для запроса REST API. ( Согласно документации )

Маркер доступа к серверу

Важно отметить, что токены доступа, которые были приобретены с помощью Mobile SDK, применимы только к Mobile SDK и не могут использоваться для выполнения вызовов API REST на стороне сервера.

Аналогично, токены доступа, которые вы уже сохранили от ваших пользователей, которые прошли проверку подлинности с помощью API-интерфейса REST API на стороне сервера, не будут работать с Mobile SDK.

Итак, как проверить данные на шаге 3), упомянутые выше на моем веб-сервере?


Это катастрофа? Я уверен, что должен быть способ сделать то, что я пытаюсь сделать, поскольку есть много приложений, которые позволяют своим пользователям входить в систему через linkedin в своих мобильных приложениях.

Потому что, если это невозможно, любой пользователь может легко изменить адрес электронной почты, который мобильное приложение отправляет на веб-сервер после получения от linkedin, и я могу войти в систему с любым адресом электронной почты, который я хочу, выполнив это.

Solutions Collecting From Web of "Как правильно внедрить linkedIn login?"

Как вы сказали, вы не можете этого сделать.

Вместо этого вы должны использовать другой подход, получить необходимую информацию на устройстве, вернуть LinkedIn и отправить его на свой сервер. Используйте HTTP-соединения, чтобы избежать атак MITM .

Если приложение загружено с официальной информации, не следует изменять на устройстве.

ДРУГИЕ МЕХАНИЗМЫ БЕЗОПАСНОСТИ: Если вам нужна дополнительная безопасность, вы можете, например, зашифровать данные на сервере, отправить HASH на мобильный, использовать токен LinkedIn для получения информации, а с помощью другого алгоритма сравнить полученные данные.

Но я думаю, что это слишком дорогостоящий механизм, который должен быть разрешен только с использованием HTTPS-соединений, а не для загрузки APK из неофициальных магазинов.

В документах четко указано, что вы не можете использовать AccessToken, полученный из Android SDK, чтобы создавать свои собственные вызовы API REST.

Однако есть способ сделать вызовы REST API с помощью мобильного SDK, проверьте

Аутентифицированный API REST отсюда: https://developer.linkedin.com/docs/android-sdk

Если вы хотите получить информацию о профиле пользователя, вам нужно будет сделать это с помощью мобильного SDK.