Я работаю над новым проектом с безопасностью на основе 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 больше не являются бесплатными.