OpenID Connect Hybrid Flow для React Native - PullRequest
1 голос
/ 22 марта 2019

Мне нужно реализовать гибридный поток проверки подлинности кода в приложении React Native для аутентификации с помощью OpenID Connect Identity Provider. В частности, IdP ожидает code id_token в качестве типа ответа.

Я использовал response-native-app-auth и базовые библиотеки OpenID AppAuth-Android, но в настоящее время они не поддерживают этот поток - см. Проблемы # 75 и # 218 . Они поддерживают только один тип ответа, такой как «код» или «токен». Из-за этого я получаю ошибку от IdP, говорящую Unauthorized Client. Я отправляю нужные области.

Шаги, которые я предпринял до сих пор:

  1. Изменить исходный код act-native-app-auth для Android, чтобы установить тип ответа - попытался указать разделенные пробелом значения (code id_token), строку в кодировке URL (code%20id_token) и строковый массив JSON ("['code', 'id_token']"). Это не сработало.
  2. Используйте веб-просмотр для входа в систему - я не смог извлечь окончательные токены с веб-страницы - они хранятся в хранилище сеансов, и мне нужно вынести их в приложение. Этот процесс также немного сложен для моего варианта использования, так как мне нужно наблюдать за несколькими потоками после аутентификации и требовать, чтобы некоторые параметры возвращались в ответе аутентификации.

В качестве последнего шага я изменяю официальную библиотеку Android для клиентов OpenID Connect - OpenID AppAuth Android . Постараюсь дать это как зависимость для реакции-native-app-auth.

Как я могу реализовать гибридный поток кода в приложении React Native? Любая помощь высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...