1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/bjzyt-IDP2-OIDC-NativeApp-IOS

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 18 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 06:45 cd36a10

IDP-OIDCNativeApp — iOS — документ разработки

Дата обновления: 2017 год, январь. Версия документа: 1.0.0

IDP-OIDCNativeApp является открытым для использования и предназначен для разработчиков.

Введение

Девиз продукта IDP компании «Девять облаков» — «Единая идентификация, безопасность и удобство». Продукт IDP позволяет реализовать управление идентификацией и однократный вход в систему через IDP Identity Manager (IDM) в сторонние приложения разработчиков.

Если вы не знакомы с IDP, вы можете связаться с нами по адресу info@idsmanager.com или посетить наш веб-сайт http://www.idsmanager.com. Продукт IDP ориентирован на корпоративных пользователей и обеспечивает однократный вход. Мы предоставляем вам демонстрационное приложение с открытым исходным кодом IDP-OIDCNativeApp, которое можно свободно использовать и модифицировать под лицензией MIT. Это демонстрационное приложение было разработано с использованием xcode8.0 и Swift 3.0, и использование других методов разработки может привести к неизвестным ошибкам.

После интеграции OIDCNaitveApp вы сможете получить следующие результаты, используя IDP Identity Manager:

  1. Выберите интегрированное приложение OIDCNativeApp в IDP Identity Manager.
  2. Выберите пользователя, которого вы хотите авторизовать (если связан только один пользователь, вы сразу перейдёте к приложению OIDCNativeApp для авторизации).
  3. Откройте приложение OIDCNativeApp и выполните авторизацию выбранного пользователя.

введите сюда описание изображения

Процесс:

Шаг 1: Войдите в IDP Identity Manager и нажмите на интегрированное приложение, чтобы запросить токен у IDP Server.

Шаг 2: IDP Server возвращает rpToken и idToken в IDP Identity Manager («токен» — это доказательство запроса клиента на авторизацию).

Шаг 3: IDP Identity Manager перенаправляет вас на приложение, интегрированное с OIDC Native App, через URL, передавая токен клиенту через URL.

Шаг 4: Приложение, интегрированное с OIDC Native App, получает rpToken и idToken через анализ URL.

Шаг 5: Приложение, интегрированное с OIDC Native App, запрашивает RP Server для авторизации, используя полученные rpToken и idToken.

Шаг 6: После получения запроса RP Server обращается к IDP Server для проверки rpToken и idToken.

Шаг 7: IDP Server отправляет результат проверки RP Server.

Шаг 8: RP Server обрабатывает результат, полученный от IDP Server, и возвращает соответствующий результат приложению.

Реализованные функции:

Использование метода проверки токенов OIDC для перехода из IDP Identity Manager в стороннее приложение и получение параметров, переданных приложением IDP Identity Manager, для бесшовного подключения к системе однократной авторизации и непосредственного входа в систему.

Поддерживаемая версия системы: iOS9.0+

При возникновении проблем, пожалуйста, свяжитесь с info@idsmanager.com или позвоните по телефону 010-58732285.


Использование IDP-OIDCNativeApp

Для использования IDPNativeApp необходимо выполнить три шага.

  1. Перейдите в раздел Targets -> Info -> URL Types и создайте новый URL Type. Единственным обязательным полем здесь является URL Schemes, который представляет собой уникальный идентификатор для переключения между приложениями. В последующих шагах на веб-странице потребуется заполнить эту информацию. URL Scheme не обязательно должен совпадать с bundle ID или именем приложения.

введите сюда описание изображения

  1. Добавьте метод в AppDelegate (предоставляется демоверсия на Swift3, рекомендуется преобразовать в соответствии с используемой версией):
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
        /********************************  接收处理跳转传过来的参数  ******************************/
   if url.scheme == "iOSOIDCNative" {
            let notice = NSNotification.init(name: NSNotification.Name(rawValue: "LoginNotification"), object: nil)
   NotificationCenter.default.post(notice as Notification)
 UserDefaults.standard.set(self .getIdToken(infoURL: url as NSURL), forKey: "OIDCToken")
 self.perform(#selector(postNotifation),with: nil,afterDelay: 0.1)

   }

        return true
       
}

    

    func postNotifation() {
        let notice = NSNotification.init(name: NSNotification.Name(rawValue: "OIDCAutomaticLogin"), object: nil)
        NotificationCenter.default.post(notice as Notification)

    }
  1. Если запрос исходит от SP после авторизации в IDP, вызовите IDPNativeAppSDK.open(), указав scheme как URL Scheme для вызова приложения, appType как тип приложения для вызова, а paramString как параметры: paramString в формате username=xxx&age=xxx&phonexxxx:
IDPNativeAppSDK.open(scheme: "jiuzhou", appType: IDPNativeAppType.IDP_BasicNativeApp, paramString: "username=lisi&xxx=xxx){ (success) in
            print(success)
        }
  1. Получите токены для однократного входа, вызвав IDPNativeAppSDK.getIdToken(infoURL:"url"):
    func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {

      IDPNativeAppSDK.getIdToken(infoURL: url as NSURL)
    }

Этот метод будет использоваться для анализа URL при переходе из IDP Identity Manager и извлечения необходимых rpToken и idToken.

Установка фреймворка

  1. Загрузите SDK фреймворк напрямую с нашего веб-сайта или получите его непосредственно из демонстрационного приложения IDPNativeApp https://git.oschina.net/sz_ids/IDP2-NativeApp-IOS.
  2. Перетащите IDPNativeAppSDK.framework в папку framework вашего проекта.

введите сюда описание изображения

  1. В разделе Targets -> General добавьте IDPNativeAppSDK в список Embedded Binaries:
  2. Нажмите + внизу.
  3. Выберите IDPNativeAppSDK из списка фреймворков.
  4. Успешно добавьте SDK в список Embedded Binaries.

введите сюда описание изображения

Попробуйте выполнить сборку или запуск. Если ошибок нет, установка SDK завершена. Следующим шагом будет настройка и использование SDK в Xcode. Если возникают ошибки на этом этапе, удалите предыдущие шаги и повторите попытку. Вы также можете просмотреть результаты интеграции в нашем демонстрационном приложении для сравнения.

  1. Наконец, в месте, где требуется информация о пользователе, вызовите полученный параметр для инициирования запроса интерфейса (см. документацию по интеграции сервера), если требуется многократное использование информации о пользователе. Сохраните её самостоятельно. На этом настройка и использование в Xcode завершены. Теперь нам нужно настроить информацию для нашего приложения в IDP.

Настройка IDP для однократного входа

Продукт IDP имеет рыночное название IDP Identity Manager и поддерживает iOS и Android. В приложении... Управление единым аккаунтом и функция единого входа (SSO) с помощью IDP

Продукт IDP является важной частью линейки продуктов. В сочетании с веб-интерфейсом он позволяет безопасно и удобно управлять учётными данными и использовать их.

IDP Identity Guardian — это ключевой модуль для управления учётными записями на мобильных устройствах. Он обеспечивает единое управление всеми сетевыми учётными данными.

Предоставляемый SDK предназначен для разработчиков, которые хотят интегрировать свои приложения с IDP. Это позволяет осуществлять управление учётными записями и единый вход из приложений IDP в сторонние разработки.

Чтобы реализовать функции единого аккаунта и единого входа с помощью IDP, ваша компания должна использовать продукты IDP и предоставить вам права администратора. Права разработчика не позволяют добавлять приложение IDP-OIDCNativeApp. Пожалуйста, обратите внимание на это ограничение.

Шаги по настройке единого аккаунта и SSO с использованием IDP:

  1. Войдите в интерфейс администратора IDP и нажмите «Добавить приложение». Найдите шаблон OIDCNativeApp, который мы предоставляем, и добавьте приложение. Если вы не можете найти этот шаблон, обратитесь в Beijing NineCloud Tencent Team.

  2. Заполните необходимую информацию о приложении. Выберите область применения в соответствии с ситуацией. Не выбирайте конкретную область, так как это не влияет на реализацию приложения. Укажите URL-схему для iOS или Android. Выберите способ связывания учётных записей: пароль или токен OIDC. Этот документ применим к способу с токенами OIDC.

  3. Предоставьте авторизацию пользователям приложения, чтобы они могли начать его использовать. Если у вас есть опыт предоставления авторизации, вы можете пропустить этот шаг.

    • Как предоставить авторизацию: авторизация означает процесс предоставления доступа к приложению, добавленному в систему IDP, пользователям компании. После добавления приложения в IDP необходимо предоставить доступ к нему пользователям. Если приложение находится в состоянии готовности (по умолчанию), пользователи из соответствующей группы смогут увидеть новое добавленное приложение в своём интерфейсе IDP.
      • Перейдите в меню авторизации слева.
      • Выберите только что созданное приложение из списка.
      • Добавьте новую авторизацию.
      • На новой странице выберите группу пользователей, которым хотите предоставить доступ, например, тестовую группу или группу администраторов.
        • Если группы пользователей ещё не созданы, создайте их самостоятельно. Если пользователи ещё не добавлены, добавьте их и назначьте в соответствующую группу.
  4. Приложение теперь полностью настроено, но нам всё ещё нужно добавить информацию об учётной записи для авторизованных пользователей в группе. Только тогда информация будет передана в стороннее приложение при переходе. Если у вас уже есть опыт в предоставлении авторизации и добавлении учётных данных, вы можете пропустить эту часть.

    • Выйдите из системы и войдите снова, используя учётную запись пользователя из авторизованной группы. Если администратор также является членом этой группы, нет необходимости выходить из системы. Просто перейдите в пользовательский интерфейс через выпадающее меню в верхней правой части панели навигации.
    • Откройте меню учётных записей для приложения и просмотрите список учётных данных всех авторизованных приложений. Нажмите кнопку «Добавить учётную запись приложения» в правом верхнем углу.
    • В окне добавления учётной записи приложения выберите правильное приложение и введите соответствующие данные учётной записи, такие как имя пользователя и пароль. Например, если вы разрабатываете приложение под названием «WeChat Mod», вы хотите, чтобы IDP управлял учётными данными для этого приложения. Эти данные должны быть зарегистрированы и доступны в вашем собственном приложении.
      • Если вы используете демонстрационное приложение IDPNativeApp для тестирования, после нажатия кнопки регистрации введите полученную информацию здесь.
    • Можно добавить несколько учётных записей для одного приложения. IDP будет запрашивать, какую учётную запись использовать при каждом переходе.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/bjzyt-IDP2-OIDC-NativeApp-IOS.git
git@api.gitlife.ru:oschina-mirror/bjzyt-IDP2-OIDC-NativeApp-IOS.git
oschina-mirror
bjzyt-IDP2-OIDC-NativeApp-IOS
bjzyt-IDP2-OIDC-NativeApp-IOS
master