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