IdentifySdk

public class IdentifySdk

Класс, с помощью которого происходит взаимодействие с библиотекой.

Предоставляет методы для работы с API сервера и паролем для локального хранилища ключей.

Для начала работы с библиотекой используйте следующий метод объявления:

let identifySdk = IdentifySdk()
  • Для начала работы с библиотекой используйте следующий метод объявления:

    let identifySdk = IdentifySdk()
    

    Declaration

    Swift

    public init()
  • Проверяет данный пароль хранилища ключей на соответствие тому, что был установлен в методе authorize(...) или changeKeyStorePassword(...).

    Declaration

    Swift

    public func tryToLogin(password: String) -> Bool

    Parameters

    password

    Пароль хранилища ключей

    Return Value

    True если пароль верен, false иначе

  • Изменяет текущий пароль хранилища ключей, который был установлен после успешного выполнения метода authorize(...) на новый.

    Declaration

    Swift

    public func changeKeyStorePassword(newPassword: String)

    Parameters

    newPassword

    Новый пароль хранилища ключей

  • Добавляет аккаунт с заданным логином и паролем в систему Identify.

    Declaration

    Swift

    public func addAccount(login: String, password: String, completion: @escaping (_ response: ResponseCodes) -> Void)

    Parameters

    login

    Новый логин аккаунта в системе Identify

    password

    Пароль от нового аккаунта

    completion

    Результат добавления аккаунта. Частная ошибка: уже существующий логин в системе Identify.

  • Авторизует пользователя в Identify.

    Кроме передачи логина и пароля аккаунта, необходимо задать пароль для хранилища ключей, необходимого для работы библиотеки.

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

    Для завершения сеанса пользователя в Identify и очистки внутренних сертификатов, необходимо вызвать метод terminateSession(...) с соответствующим токеном авторизации.

    Declaration

    Swift

    public func authorize(login: String, password: String, pinCode: String, completion: @escaping (_ token: String?, _ response: ResponseCodes) -> Void)

    Parameters

    login

    Имеющийся логин в системе Identify

    password

    Пароль от аккаунта

    pinCode

    Пароль от хранилища ключей

    completion

    Результат авторизации и авторизационный токен, если авторизация прошла успешно. Частная ошибка: неверный логин/пароль в системе Identify.

  • Отправляет Firebase notification token на сервер, для дальнейшего получения пуш-уведомлений.

    Если вы используете собственный метод доставки пушей - игнорируйте этот метод.

    Если же вам необходимо использовать наше готовое решение, то для это вы должны интегрировать бибилиотеку Firebase в свой проект и добавить туда наш конфигурационный файл (подробнее о настройке проекта).

    Declaration

    Swift

    public func sendNotificationId(authorizationToken: String, notificationId: String, completion: @escaping (_ response: ResponseCodes) -> Void)

    Parameters

    authorizationToken

    Авторизационный токен

    notificationId

    Firebase notification token

    completion

    Результат отправки токена

  • Отправка активационного кода, полученного от портала, к которому необходимо привязать текущий аккаунт.

    После выполнения этой операции данный аккаунт сможет получать и подтверждать операции от заданного портала.

    Declaration

    Swift

    public func sendActivationCode(authorizationToken: String, activationCode: String, completion: @escaping (_ portal: Portal?, _ response: ResponseCodes) -> Void)

    Parameters

    authorizationToken

    Авторизационный токен

    activationCode

    Активационный код портала

    completion

    Результат отправки активационного кода и добавленный портал, если операция прошла успешно. Частные ошибки: неверный логин/пароль в системе Identify, истек срок действия активационного кода, неверный активационный код

  • Получение списка активных операций, требующих подтверждения.

    При указании operationId список возвращается начиная от определенной операции (не включая ее) и пропуская все ранее созданные до нее.

    Declaration

    Swift

    public func getActiveOperations(authorizationToken: String, operationId: String? = nil, maxCount: Int = 20, completion: @escaping (_ getActiveOperationsResponse: GetActiveOperationsResponse?, _ response: ResponseCodes) -> Void)

    Parameters

    authorizationToken

    Авторизационный токен

    operationId

    Id операции после которой необходимо получить список (опционально)

    maxCount

    Максимальное количество операций допустимое в ответе на запрос (по умолчанию 20)

    completion

    Результат получения активных операций и сам список, если получение прошло успешно

  • Отправка подтверждения или отклонения операции.

    Declaration

    Swift

    public func respondOperation(authorizationToken: String, operationId: String, operationConfirmationType: CryptoOperationConfirmationType, completion: @escaping (_ response: ResponseCodes) -> Void)

    Parameters

    authorizationToken

    Авторизационный токен

    operationId

    Id операции, которую необходимо подтвердить/отклонить

    operationConfirmationType

    Отклонение или подтверждение

    completion

    Результат подтверждения или отклонения операции. Частные ошибки: операции не существует, срок действия операции истек, операция уже была подтверждена/отклонена

  • Получение списка архивных операций. Сюда входят все созданные операции, которые были подтверждены/отклонены или время их действия истекло.

    Для получения всех операций до текущего времени не указывайте значение startDate. Для получения всех операций полученных после какой-то отметки времени не указывайте значение endDate. Должен быть указан хотя бы один из параметров startDate или endDate для успешного получения списка архивных операций.

    Declaration

    Swift

    public func getArchiveOperations(authorizationToken: String, startDate: Int64? = nil, endDate: Int64?, sort: CryptoOperationSortType = .byDate, skip: Int = 0, count: Int = 20, ascending: Bool = true, completion: @escaping (_ getActiveOperationsResponse: GetArchivedOperationsResponse?, _ response: ResponseCodes) -> Void)

    Parameters

    authorizationToken

    Авторизационный токен

    startDate

    Время начала получения архива (миллисекунды с 1970 г.) (опционально)

    endDate

    Время окончания получения архива (миллисекунды с 1970 г.) (опционально)

    sort

    Тип сортировки архива (по времени/типу операции/названию операции)

    skip

    Сколько операций пропустить в данном промежутке времени и не возвращать в ответе

    count

    Максимальное количество возвращаемых операций

    ascending

    Операции возвращаются в порядке убывания или возрастания

    completion

    Результат получения архивных операций и сам список операций, если получение было успешно

  • Получить список интегрированных порталов, которые добавлены в аккаунт.

    Declaration

    Swift

    public func getPortals(authorizationToken: String, completion: @escaping (_ portals: [Portal]?, _ response: ResponseCodes) -> Void)

    Parameters

    authorizationToken

    Авторизационный токен

    completion

    Результат получения списка интегрированных порталов и сам список порталов, если получение было успешно

  • Получить список аккаунтов внешних сайтов, которые добавлены в аккаунт Identify.

    Declaration

    Swift

    public func getAccounts(authorizationToken: String, completion: @escaping (_ accounts: [Account]?, _ response: ResponseCodes) -> Void)

    Parameters

    authorizationToken

    Авторизационный токен

    completion

    Результат получения списка аккаунтов внешних сайтов и сам список аккаунтов, если получение было успешно

  • Удаление портала из аккаунта.

    Аккаунт больше не сможет получать и подтверждать операции с этого портала.

    Declaration

    Swift

    public func sendDeletePortalRequest(authorizationToken: String, portalId: String, completion: @escaping (_ response: ResponseCodes) -> Void)

    Parameters

    authorizationToken

    Авторизационный токен

    portalId

    Id удаляемого портала (может быть получен из getPortals(...))

    completion

    Результат удаление портала

  • Завершение сессии пользователя.

    После успешного завершения сессии авторизационный токен становится не валиден, также удаляется хранилище ключей.

    Для начала работы с аккаунтом пользователя необходимо снова вызвать метод authorize(...)

    Declaration

    Swift

    public func terminateSession(authorizationToken: String, completion: @escaping (_ response: ResponseCodes) -> Void)

    Parameters

    authorizationToken

    Авторизационный токен

    completion

    Результат завершения сессии

  • Изменение типа второго фактора у аккаунта внешнего сайта, который добавлен в акканут Identify.

    Declaration

    Swift

    public func sendSecondFactorForAccount(authorizationToken: String, hashId: String, secondFactorType: SecondFactorType, secondFactorData: String, completion: @escaping (_ response: ResponseCodes) -> Void)

    Parameters

    authorizationToken

    Авторизационный токен

    hashId

    Id внешнего аккаунта

    secondFactorType

    Новый тип второго фактора

    secondFactorData

    Lля TOTP необходимо отправить секрет. Для отмены второго фактора достаточно передать пустую строку.

    completion

    Результат изменения типа второго фактора