HTTP сервис и Сохранение пароля в IPHONE. Часть 2. OpenID-аутентификации

Печать (Ctrl+P)

Проблема с аутентификацией и сохранеия пароли на устройствах с ОC IOS я написал в первой части статьи здесь .

Суть в том, что при обращении к НТТР сервису я использовал вид аутентификации: Basic аутентификация ‑ в этом случае веб-сервер запрашивает у клиентского приложения ( например, браузер) имя и пароль для аутентификации. Эти параметры клиенсткое приложение передает на веб-сервер в HTTP-запросе.

Проблема в том, что клиентское приложение почты на iPhone и iPad в отличии от смартфонов не сохраняют параметры входа и каждый раз запращивают их у пользователя для передачи на веб-сервер в HTTP-запросе

Мне посоветовали использовать вид аутентификации : ОpenID-аутентификация — это один из видов аутентификации, поддерживаемых механизмом аутентификации 1С:Предприятия.

Использование ОpenID-аутентификация не решил проблему с iPhone – Клиентское приложение почты на iPhone каждый раз запрашивал у пользователь параметры входа.

Настройку OpenID я выполнил с помощью диалога публикации на веб-сервере (закладка OpenID) в конфигураторе информациооной базе:

Я установил галочку Использовать в качестве OpenID-провайдера . В этом случае   публикуемая информационная база будет выступать в роли OpenID-провайдера,

Время жизни аутентификации оставил по умолчанию 604 800 сек. Это позволяет заново запрашивать аутентификацию в тех случаях, когда подключение к информационным базам происходит с большими промежутками времени.

Как работает  OpenID-провайдер на Смартфоне ?

  • клиентское приложение обращается к  информационной базе
  • информационная база  обращается к OpenId-провайдеру ( она же OpenId-провайдер)  с тем, чтобы он аутентифицировал пользователя
  • OpenID-провайдер выполняет процедуру аутентификации: пользователь вводит логин и пароль; в случае успешной аутентификации на компьютере пользователя в cookie сохраняется признак того, что провайдер аутентифицировал пользователя,
  • используя признак аутентификации, сохраненный в cookie, пользователь подключается к информационной базе 1 и начинает работу,
  • при обращении к другой информационной базе, пользователю не нужно снова вводить логин и пароль; на основании признака аутентификации, сохраненного ранее в cookie, OpenID-провайдер выполняет аутентификацию незаметно для пользователя.

Согласно теории , если же используется OpenID-аутентификация, то однажды выполнив процедуру аутентификации при подключении к одной из баз, во все остальные базы пользователь будет заходить без запроса логина и пароля. OpenID-провайдер будет автоматически аутентифицировать пользователя на основе имеющейся у него информации. Однако, на iPhone мне это не удалось .Я недавно получи

Недавно получил следующее сообщение:

Добрый день! Прочитал статью вашу, дам совет. Можно опубликовать http-сервис отдельной публикацией, указав в файле публикации логин и пароль. Таким образом не будет требоваться каждый раз логин и пароль, весь код будет выполняться от пользователя, прописанного в конфигурационном файле. При этом если нужно ограничить доступ к сервису, можно передавать логин и пароль в запросе(POST или GET) и проверять его прямо в коде

Я попробую выполнить данный совет и в третьей части статьи напишу результат – удалось ли обращаться к НТТР сервису из клиентского приложения на iPhone без необходимости каждый раз выполнить аутентификации.

Previous Article
Next Article

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.