пятница, 1 июля 2016 г.

Управление доступом к Oracle MAF приложению(Oracle Mobile Application Framework Securing)

Для большинства мобильных приложений необходимо создавать авторизацию. В этой статье я хочу вам рассказать об этом.

MAF представляет пользователю login страницу  когда активирована возможность работы с безопасностью в приложении. И только тогда, когда пользователь успешно введет авторизационные данные, MAF отрендерит view, UI компоненты или страницу приложения. Так же можно,  что бы часть страниц были доступны и анонимным пользователям( не прошедшим авторизацию).

MAF приложение можно настроить так, чтобы учетные данные пользователя были  проверены на удаленном сервере авторизации (таких как Oracle Access Manager Identity Server используемым веб-приложениями Oracle ADF) или же  на локольном  устройстве пользователя. Для поддержки локальных и удаленных режима подключения. MAF поддерживает следующие протоколы аутентификации:

  • HTTP Basic
  • Mobile-Social
  • OAuth
  • Web SSO



Возможные режимы соединения

Режим соединенияПоддерживаемы протоколыОписание режима
local
  • HTTP Basic
  • Mobile-Social
Приложению требуется авторизация на удаленном сервере только тогда, когда локальное хранилище недоступно  на устройстве Первый логин всегда на удалённом логин сервере. После удачной авторизации, MAF хранит авторизационные даные на устройстве
remote
  • HTTP Basic
  • Mobile-Social
  • OAuth
  • Web SSO
Приложению требуется авторизация на удаленном сервере, таком как Oracle Access Manager (OAM) Identity Server или в приложение с аутентификацией . Аутентификация на удаленном сервере происходит при каждом логине. Ели устройство не может соединиться с сервером, то пользователь не сможет залогиниться.
hybrid
  • HTTP Basic
  • Mobile-Social
Приложению требуется авторизация на удаленном сервере когда сеть доступна, даже когда локальное хранилище доступно на устройстве

Я продемонстрирую работу с  протоколом HTTP Basic
Начнём.
1. Создайте MAF приложение
2. Для авторизации создайте пустое  ADF приложение и добавить в него ADF Security  с HTTP Basic авторизацией и задеплойте его



3.Создайте MAF Login Connection
В окне создания соединения можно установить множество параметров. Наиболее важные для нас
сейчас:

  • Authentication Server type   (в нашем случае HTTP Basic)
  • Connection Name(обязательное поле)
  • вкладка HTTP Basic (URL для login и logout. Страницы должны быть доступны после авторизации)



4. После этого нужно в maf-feature.xml  указать, какие features будут использовать авторизацию


5. Далее нужно зайти  на вкладку Security в maf-application.xml  и установить созданный конекшн для приложения и feature.


Готово. Теперь если запустить  мобильное приложение, появится окно  для авторизации.


Если не авторизоваться,  то можно заходить во feature в которых не используется Security(в моем приложении addFeature)



Окно после авторизации (mainFeature)


Исходники  на github: https://github.com/JealousyM/security-maf

Ссылка на описание в Oracle Docs: https://docs.oracle.com/middleware/maf212/mobile/develop-maf/maf-securing.htm#ADFMF1025