Подтвердить что ты не робот

Единый вход в систему (SSO) в iOS 7

У меня есть вопрос об одной из новых функций в iOS 7 - Single Sign On.

Есть ли подробная информация об этом? Кто-то уже пробовал это для реализации? Я искал много статей и документов, но не нашел ничего полезного. Я также не нашел подробной информации о ресурсах Apple и разработчиков Apple. Нет визуальной настройки для SSO в версии iOS 7 GM (я не уверен, что она должна быть там).

Итак, мой вопрос: кого-то уже исследовали, и может быть, кто-то может поделиться некоторыми ссылками и полезной информацией? Существуют ли какие-либо технические описания этой функции и существует ли она как в iOS 7 GM?

Спасибо заранее.

4b9b3361

Ответ 1

Я бы порекомендовал смотреть WWDC 2013 Session 301 "Расширение приложений для корпоративного и образовательного использования"

Кроме того, для обзора реализации этой функции этот сайт помогает.

Наконец, здесь Документация Apple (доступна для разработчиков). Найдите заголовок: Единая учетная запись учетной записи.

Настройка SSO на устройстве потребует от Apple Configurator установки профиля или решения MDM для доставки SSO-профиля OTA.

Ответ 2

Чтобы сделать SSO (Kerberos), работающую на iOS7, вам нужно 3 вещи:

  • На стороне сервера: настроена среда Kerberos + HTTP-аутентификация SPNego/Kerberos. SSO в iOS работает только для HTTP (S).

  • Профиль конфигурации, содержащий:

    • [Обязательно] Ваша область Kerberos.
    • [Обязательно] Ваш главный администратор Kerberos (обычно имя пользователя), это может быть пустым - в этом случае пользователю будет предложено указать его во время установки профиля.
    • [Обязательный] Список префиксов URL-адресов страниц, которым разрешено использовать SSO. Подстановочные знаки нельзя использовать здесь, если префикс не заканчивается символом косой черты, он будет автоматически добавлен к нему.
    • [Необязательно] Список идентификаторов пакетов, разрешенных для использования SSO, если пустые все приложения разрешены. Можно использовать подстановочные знаки в идентификаторах пакетов.
  • Приложение, поддерживающее его, Safari и WebKit (класс UIWebView). Как описано в видеороликах WWDC 2013 Session 301, вы должны использовать либо NSURLConnection, либо класс NSURLSession. Это упрощенный пример HTTP-трафика при аутентификации с использованием схемы SPNego:

Клиент: GET https://login.example.com/adfs/ls/auth/integrated/?data1=aa&data2=...

Сервер: 401 Unathorized

+ заголовок WWW-Authentificate: Negotiate

Клиент: GET https://login.example.com/adfs/ls/auth/integrated/?data1=aa&data2=...

+ заголовок Авторизация: Переговоры [SPNegotInitToken]

Сервер: 200 OK

+ заголовок Авторизация: Переговоры [SpnegoTargToken]

+ header set-cookie [SESSIONID]

После получения "WWW-Authentificate" появится диалоговое окно с запросом пароля Kerberos (если билет Kerberos еще не предоставлен/истек). Obj-C классы будут обрабатывать автоматически все процессы переадресации и аутентификации, поэтому вам нужно только сделать запрос на URL-адрес входа и разрешить этот URL-адрес в профиле.

Ответ 3

Enterprise Single Sign On позволяет пользователю один раз войти на свое устройство и позволить всем приложениям на устройстве использовать его для проверки подлинности. В случае твиттера ссылки ниже будут вам полезны,

https://dev.twitter.com/discussions/8231.

http://eflorenzano.com/blog/2012/04/18/using-twitter-ios5-integration-single-sign-on/