В итоге мы определили возможное решение нашей проблемы, с которой собираемся продолжить.
Наша проблема заключалась в том, что даже если мобильное устройство было авторизовано, это не означало, что сеанс в веб-просмотре былавторизованный и наоборот. Отдельная аутентификация их не была вариантом в нашем случае, потому что мы хотели, чтобы биометрический логин также регистрировал пользователя через веб-просмотр. Чтобы решить эту проблему без чрезмерного усложнения решения, мы подумали, что было бы лучше, если бы мы могли указать конечную точку в 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-адрес веб-просмотра, вместо этого перенаправляя его на входную дверь. конечная точка, если пользователь успешно аутентифицируется биометрическим способом.
Мы будем обрабатывать поток токенов обновления, используя также биометрический фрагмент.
Надеемся, что это может помочь кому-то еще, кто может запуститьв эту ситуацию.