Базовая аутентификация в SAP Mobile Platform

Я пытаюсь настроить аутентификацию на нашем SMP-сервере, чтобы пользователи нашего мобильного приложения OpenUI5 могли проходить аутентификацию на нашей существующей серверной системе. Мы смогли заставить это работать, используя SMP 3.0.3, но не используя более новый SMP 3.0.10.11.

Требования:

  • Наше мобильное приложение должно позволять нескольким различным конечным пользователям подключаться к одному устройству. Он отправляет учетные данные, используя базовую аутентификацию HTTP, то есть заголовок "Authorization:Basic" в запросе HTTP.

  • Внутренняя система предоставляет сервисам OData базовую аутентификацию HTTP. Сеанса не существует, т.е. пользователь проходит проверку подлинности при каждом запросе через заголовок авторизации запроса, и в ответе не возвращается файл cookie сеанса или файл SSO.

Нам нужно было попробовать два разных подхода к конфигурации на SMP, но безуспешно.

Использование "Нет проверки подлинности"

В настройках мы создали профиль безопасности с именем "Без проверки подлинности", настроили "Без проверки подлинности" в качестве единственного поставщика проверки подлинности и установили его в соответствии с требованиями.

В приложениях: * В разделе "Back End" мы настроили конечную точку ( http: //172.18..../), не отметили "Разрешить анонимный доступ", установили режим перезаписи на "Без перезаписи" и добавили одну ССО Механизм "Базовый". * В разделе "Аутентификация" мы выбрали профиль "Нет аутентификации" и сняли флажок "Проверить олицетворение".

Мы открыли приложение и успешно зарегистрировались без указания имени пользователя или пароля. Регистрация отражается как имя пользователя "nosec_identity".

Затем мы попытались войти в приложение, указав правильное имя пользователя (admin) и пароль для внутренней системы. Приложение выполняет сервисный вызов к серверу SMP, включая эти учетные данные в заголовке базовой аутентификации (Authorization:Basic YW.............=).

Пока все хорошо, но SMP-сервер возвратил ошибку 403 Forbidden без отправки запроса во внутреннюю систему. В журнале отладки SMP указана причина: "Не найдены подходящие учетные данные единого входа для конечной точки notAnonymousAccess". Я не знаю, почему он не мог использовать "базовый" единый вход, который был настроен для конечной точки:

# 2.0 # 2017-07-18 11:49:52 AM # WARNING # RequestResponse # 403 ## Proxy # 1500371392748018 # 1b6118d6-40ea-49bf-90f8-6358de7a70c4 # com.j5.app # com.sap.mobile.platform. server.proxy.core.handler.DirectProxy: handleException # nosec_identity ####### 2257 ##### Исключение при попытке установить учетные данные для анонимного доступа #

...

# 2.0 # 2017-07-18 11:49:52 AM # FATAL # Proxy #### 1500371392748000 # 1b6118d6-40ea-49bf-90f8-6358de7a70c4 # com.j5.app # DirectProxy: fireRequest # nosec_identity ##### ## 2257 ##### Запрещено Не найдено подходящих учетных данных единого входа для конечной точки not allowAnonymousAccess [com.j5.app]. : {"endPoint":"http... / odataservice / inspe_rounds/$metadata?0.6973737435488696","requestURL":"http:...:8080/com.j5.app/odataservice/inspe_rounds/$metadata","miscInfo":" Ответ на запрос прокси "," источник ":" Сервер SMP: Прокси "," версия ":"1.0","responseCode":"403"}#

Использование "HTTP/HTTPS-аутентификации"

В настройках мы создали профиль безопасности под названием "HTTP HTTPS", настроили "HTTP/HTTPS-аутентификацию" в качестве единственного поставщика аутентификации и установили его как необязательный. Мы также установили его URL-адрес в качестве действительного URL-адреса на серверной части, которая выполняет базовую аутентификацию, и не установили никаких других полей в настройках.

В приложениях: * В разделе "Back End" мы настроили URL-адрес конечной точки, отметили "Разрешить анонимный доступ" (чтобы мы могли зарегистрироваться без предоставления учетных данных для конкретного пользователя), установили режим перезаписи на "Без перезаписи" и добавили один ССО Механизм "Базовый". * В разделе "Аутентификация" мы выбрали профиль "HTTP HTTPS" и сняли флажок "Проверить олицетворение".

Мы открыли приложение и успешно зарегистрировались без указания имени пользователя или пароля. Эта регистрация отражается как имя пользователя "анонимный". Хотя регистрация прошла успешно, журнал SMP содержит следующие предупреждения для имени пользователя "NA":

# 2.0 # 2017-07-17 04:43:59 PM # WARNING # ApplicationSettings ### Security # 1500302639903001 # 9a43b81d08684a42895450ba54dc812d # com.j5.app # com.sybase.security.http.HttpAuthenticationLoginModule: login #### ## 708##### Анонимная аутентификация не поддерживается. #

# 2.0 # 2017-07-17 04:43:59 PM # ПРЕДУПРЕЖДЕНИЕ # Регистрация ###Security#1500302639669001#9a43b81d08684a42895450ba54dc812d#com.j5.app#com.sybase.security.http.HttpAuthenticationLoginModule:login####### 730##### Анонимная аутентификация не поддерживается. #

Затем мы попытались войти в приложение, указав правильное имя пользователя (admin) и пароль для внутренней системы. Приложение выполняет сервисный вызов к серверу SMP, включая эти учетные данные в заголовке базовой аутентификации.

Сервер SMP снова возвращает ошибку 403 Forbidden без отправки запроса на внутренний сервер.

Журнал SMP содержит следующее предупреждение для имени пользователя "NA":

# 2.0 # 2017-07-17 04:45:58 PM # ERROR # RequestResponse ### Foundation # 1500302758402001 # 92cd519b-39aa-4bce-a4e8-84cf1fc12364 # com.j5.app # com.sap.mobile.platform.server.foundation.security.filter.AuthenticationFilter: doFilter ######## 713 ##### Зарегистрированный пользователь, анонимный для подключения к приложению, не соответствует имени пользователя входа в систему admin #

Таким образом, кажется, что если мы регистрируемся анонимно, приложение не может предоставить имя пользователя во время входа в систему.

Любая помощь будет оценена.

0 ответов

Другие вопросы по тегам