Можно ли сделать биометрический вход через React-Native WebView в сообщество Salesforce? - PullRequest
0 голосов
/ 11 октября 2019

У меня есть уникальная ситуация, когда я пытаюсь поместить сайт сообщества Salesforce в веб-просмотр React-Native, но я хочу добавить еще один способ входа в систему. У меня уже есть стандартное имя пользователя и пароль в веб-представлении, но я хочу иметь возможность выполнить вход по отпечатку пальца / идентификатору лица. Проблема в том, что, поскольку я использую веб-просмотр для отображения своего сайта, возможно ли даже использовать мои аппаратные биометрические возможности и отправить его в salesforce, чтобы разрешить вход через веб-просмотр?

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

Ответы [ 2 ]

0 голосов
/ 25 октября 2019

В итоге мы определили возможное решение нашей проблемы, с которой собираемся продолжить.

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

Нажав на нашу

https://.../services/oauth2/authorize?response_type=token&client_id=...
&redirect_uri=...

конечную точку, запрашивающую токен доступа, мы можем использовать это как подтверждение того, что пользователь является тем, кем, по его словам, он является.

Как только мы получим наш токен доступа вродное приложение реагирует на использование frontdoor.jsp, который позволяет передавать session_id, чтобы пропустить вход в систему с именем пользователя и паролем. Значение session_id является токеном доступа, полученным ранее. Наша конечная точка выглядит примерно так:

https://.../secur/frontdoor.jsp?sid=...&retURL=...

https://help.salesforce.com/articleView?id=security_frontdoorjsp.htm&type=5

При этом биометрическая часть получает токен доступа и изменяет наш URL-адрес веб-просмотра, вместо этого перенаправляя его на входную дверь. конечная точка, если пользователь успешно аутентифицируется биометрическим способом.

Мы будем обрабатывать поток токенов обновления, используя также биометрический фрагмент.

Надеемся, что это может помочь кому-то еще, кто может запуститьв эту ситуацию.

0 голосов
/ 11 октября 2019

Возможно, вы захотите иметь подключенное приложение, которое дает вам токен доступа и токен обновления через OAuth.

Пользователь в первый раз => Перенаправляется в веб-просмотр с помощью OAuth, вы получаете токен доступа иТокен обновления, который хранится на телефоне пользователя.

Все остальное время => У пользователя запрашивается TouchID, вы берете сохраненный токен обновления, вы получаете новый токен доступа с потоком обновления из подключенного приложения.

Все ваши вызовы API будут иметь Authorization : Bearer <Access_Token>.

...