Вход в OAuth2 с помощью Nativescript - возможно ли избежать внешнего браузера / веб-просмотра? - PullRequest
0 голосов
/ 12 марта 2020

Я работаю над новым проектом с безопасностью на основе OpenId Connect. Будучи новичком в этой технологии (и в мобильной разработке), я не смог найти точного ответа на свой вопрос.

Небольшое введение в проект:

  • Сгенерировано приложение администрирования модуля API / сущности с помощью jHipster (Spring boot, Keycloak в качестве поставщика удостоверений и PostgreSql для БД).

  • Сгенерировано мобильное приложение с помощью Nativescript- Angular

  • Установленный плагин Nativescript-OAuth2

Клиент (приложение NS) - это та часть, над которой я сейчас работаю.

Прежде чем сдаться и переключиться на что-то более простое, я хотел бы спросить, используется ли форма входа в приложение внутри приложения, не открывая внешний веб-браузер для вставки учетных данных, это одобрено официальным OAuth2-OId C Спецификация.

Меня беспокоит то, что на плате плагинов Nativescript-OAuth2 я прочитал здесь , что Apple не принимает внешние перенаправления, подобные упомянутому выше.

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

Идея обычной формы входа в систему, кажется возможной и уже сделанной, как вы можете видеть в этой статье. Мы говорим о проекте jhipster, на этот раз интегрированном с React Native. Аутентификация происходит полностью в приложении, без какой-либо внешней помощи браузера, так что это возможно.

Лично я читал, что спецификация OAuth2 явно указывает на использование внешнего браузера, но, возможно, моя интерпретация неверна.

Цель этого вопроса - выяснить, возможно ли следовать стандарту OAuth2 / OpenId Connect с помощью «простых» HTTP-запросов без какого-либо внешнего браузера или WebView?

Я знаю что веб-сайты OAuth2 / OID C Standard сообщают о любой информации. Это правда, что на первый взгляд, исходя из веб-разработки или более простых методов безопасности, довольно сложно понять, каким путем следовать. Ситуация становится еще сложнее, когда вы используете NativeScript, поскольку это приложение Angular, перенесенное в собственный код Android - iOS.

Я считаю, что этот вопрос необходимо рассмотреть в качестве обеспечения безопасности. протокол становится стандартом в настоящее время, и то же самое для сред, таких как NativeScript, React Native, AppCellerator Titanium и др. c.

Примечание: На сайте NS есть документ, в котором говорится, что легко осуществить вход в OAuth2 с помощью расширений Kinvey. Проблема в том, что, когда вы закончили настройку среды и начали выполнять действия, которые делают c, вы обнаружите, что услуги Kinvey больше не являются бесплатными.

...