myDSSSDK Documentation

Class DSSUsers​Manager

public final class DSSUsersManager  

Класс для управления и выполнения "активных" действий над пользователями DSS на стороне SDK. Используется для работы с УКЭП (квалифицированная подпись)

Properties

users

public static var users: [DSSUser]  

Перечисление доступных объектов DSSUser

Methods

rename(user:​new​Name:​)

public static func rename(
        user: DSSUser,
        newName: String
    )  

Переименование пользователя в хранилище

После переименования переданный экземпляр пользователя (DSSUser) станет неактуальным. Обновлённый экземпляр можно получить, используя DSSUsersManager.users

Parameters

user DSSUser

Пользователь, чьё имя нужно переименовать

new​Name String

Новое имя пользователя

delete(user:​)

public static func delete(
        user: DSSUser
    )  

Удаление пользователя из хранилища

Parameters

user DSSUser

Пользователь для удаления

update​Status(user:​_:​)

public static func updateStatus(
        user: DSSUser,
        _ callback: @escaping (_ result: Result<DSSUser, Error>) -> Void
    )  

Обновление статуса DSSUser информацией с сервера

Parameters

user DSSUser

Пользователь для обновления

callback @escaping (_ result:​ Result<DSSUser, Error>) -> Void

Замыкание возвращает результат

result

В случае успеха вернет экземпляр обновлённого пользователя. Иначе — возвращает ошибку

create​DSSUser​With​Init​QR(name:​push​Notifications​Data:​device​Name:​external​Id:​alias:​require​Password:​callback:​)

public static func createDSSUserWithInitQR(
        name: String,
        pushNotificationsData: PushNotificationsData? = nil,
        deviceName: String,
        externalId: String?,
        alias: String?,
        requirePassword: Bool,
        callback: @escaping (_ result: Result<DSSUser, Error>) -> Void
    )  

Создание "неподтвержденной" учётной записи в DSS с получением "вектора аутентификации" к ней с использованием QR-кода

Для запроса используется Kinit, полученный из QR-кода.

Запускает последовательность экранов SDK: запрос кода активации (при необходимости), задание пароля и использование Face ID / Touch ID (если разрешено).

После выполнения isReadyToSign = false, созданная учетная запись имеет статус installed.

Parameters

name String

Имя для сохранения учётной записи

push​Notifications​Data Push​Notifications​Data?

Данные для отправки пуш-уведомлений

device​Name String

Отображаемое дружественное имя устройства

external​Id String?

Внешний идентификатор

alias String?

Уникальный человекочитаемый идентификатор, используемый для подтверждения владения МУ пользователем. Если данный параметр отсутствует в запросе, то его значение будет создано автоматически на стороне сервера.

require​Password Bool

Нужно ли установить пароль

callback @escaping (_ result:​ Result<DSSUser, Error>) -> Void

Замыкание возвращает результат

result

В случае успеха вернет экземпляр неподтверждённого пользователя. Иначе — возвращает ошибку

create​DSSUser(service​URL:​name:​push​Notifications​Data:​device​Name:​external​Id:​alias:​require​Password:​callback:​)

public static func createDSSUser(
        serviceURL: URL,
        name: String,
        pushNotificationsData: PushNotificationsData? = nil,
        deviceName: String,
        externalId: String?,
        alias: String?,
        requirePassword: Bool,
        callback: @escaping (_ result: Result<DSSUser, Error>) -> Void
    )  

Создание "неподтвержденной" учётной записи в DSS с получением "вектора аутентификации" к ней

Запускает последовательность экранов SDK: задание пароля и использование Face ID / Touch ID (если разрешено).

После выполнения isReadyToSign = false, созданная учётная запись имеет статус installed.

Parameters

service​URL URL

Адрес сервера

name String

Имя для сохранения учётной записи

push​Notifications​Data Push​Notifications​Data?

Данные для отправки пуш-уведомлений

device​Name String

Отображаемое дружественное имя устройства

external​Id String?

Внешний идентификатор

alias String?

Уникальный человекочитаемый идентификатор, используемый для подтверждения владения МУ пользователем. Если данный параметр отсутствует в запросе, то его значение будет создано автоматически на стороне сервера.

require​Password Bool

Нужно ли установить пароль

callback @escaping (_ result:​ Result<DSSUser, Error>) -> Void

Замыкание возвращает результат

result

В случае успеха вернет экземпляр неподтверждённого пользователя. Иначе — возвращает ошибку

create​DSSUser​With​Approval(service​URL:​uid:​name:​push​Notifications​Data:​device​Name:​external​Id:​alias:​require​Password:​status​Checking​Interval:​callback:​)

public static func createDSSUserWithApproval(
        serviceURL: URL,
        uid: String,
        name: String,
        pushNotificationsData: PushNotificationsData? = nil,
        deviceName: String,
        externalId: String?,
        alias: String?,
        requirePassword: Bool,
        statusCheckingInterval: TimeInterval? = nil,
        callback: @escaping (_ result: Result<DSSUser, Error>) -> Void
    )  

Создание запроса на добавление устройства к учётной записи DSS

Запускает последовательность экранов SDK: задание пароля и использование Face ID / Touch ID (если разрешено).

Создаёт нового неподтверждённого пользователя (user.state = .approveRequired) и сохраняет его в хранилище.

Подтверждение с другого устройства выполняется через DSSDevicesManager.approve(...).

Если задать параметр statusCheckingInterval, то на экране с QR кодом сдк будет автоматически опрашивать у сервера текущий статус добавления.

Parameters

service​URL URL

Адрес сервера

uid String

Идентификатор пользователя, к которому нужно подключить устройство

name String

Имя для сохранения учётной записи

push​Notifications​Data Push​Notifications​Data?

Данные для отправки пуш-уведомлений

device​Name String

Отображаемое дружественное имя устройства

external​Id String?

Внешний идентификатор

alias String?

Уникальный человекочитаемый идентификатор, используемый для подтверждения владения МУ пользователем. Если данный параметр отсутствует в запросе, то его значение будет создано автоматически на стороне сервера.

require​Password Bool

Нужно ли установить пароль

status​Checking​Interval Time​Interval?

Временной интервал для проверки статуса добавления

callback @escaping (_ result:​ Result<DSSUser, Error>) -> Void

Замыкание возвращает результат

result

В случае успеха вернет экземпляр неподтверждённого пользователя. Иначе — возвращает ошибку

accept​Account​Changes(user:​callback:​)

public static func acceptAccountChanges(
        user: DSSUser,
        callback: @escaping (_ result: Result<DSSUser, Error>) -> Void
    )  

Подтверждение присоединения мобильного устройства к учётной записи

Запускает последовательность экранов SDK: подтверждение учётной записи и сканирование QR-кода (если необходимо) Выполнение возможно только при статусе учётной записи DSS notVerified.

Перед выполнением необходимо выполнить DSSUsersManager.updateStatus для получения актуального статуса учётной записи пользователя.

Учётная запись пользователя на DSS переводится в статус Active.

Parameters

user DSSUser

Пользователь мобильного устройства

callback @escaping (_ result:​ Result<DSSUser, Error>) -> Void

Замыкание возвращает результат

result

В случае успеха вернёт экземпляр подтверждённого пользователя. Иначе — возвращает ошибку

check​Approval​Status(unapproved​User:​check​Only:​status​Checking​Interval:​callback:​)

public static func checkApprovalStatus(
        unapprovedUser: DSSUser,
        checkOnly: Bool = false,
        statusCheckingInterval: TimeInterval? = nil,
        callback: @escaping (_ result: Result<DSSUser, Error>) -> Void
    )  

Проверка статуса запроса на добавление устройства к учётной записи DSS

Проверяет текущий статус устройства. Если статус .approveRequired, то запускает экран SDK с QR-кодом.

Если задать параметр statusCheckingInterval, то на экране с QR кодом сдк будет автоматически опрашивать у сервера текущий статус добавления.

Parameters

unapproved​User DSSUser

Пользователь, чей статус нужно проверить

check​Only Bool

Если true — осуществляется проверка статуса без показа UI

status​Checking​Interval Time​Interval?

Временной интервал для проверки статуса добавления

callback @escaping (_ result:​ Result<DSSUser, Error>) -> Void

Замыкание возвращает результат

result

Возвращает пользователя, если он подтверждён. Иначе — возвращает ошибку

submit​Password(user:​callback:​)

public static func submitPassword(
        user: DSSUser,
        callback: @escaping (_ result: Result<Void, Error>) -> Void
    )  

Предъявление пароля на "вектор аутентификации"

Запускает последовательность экранов SDK: запрос текущего пароля. Если используется Face ID / Touch ID, то появится системный интерфейс.

После выполнения user.isReadyToSign станет true

Parameters

user DSSUser

Пользователь, для которого предъявляется пароль

callback @escaping (_ result:​ Result<Void, Error>) -> Void

Замыкание возвращает результат

result

В случае успеха не возвращает ничего. Иначе — возвращает ошибку

change​Password(user:​callback:​)

public static func changePassword(
        user: DSSUser,
        callback: @escaping (_ result: Result<Void, Error>) -> Void
    )  

Изменение пароля на "вектор аутентификации"

Запускает последовательность экранов SDK, выполняющих запрос текущего пароля и установки нового пароля. После выполнения isReadyToSign = false

Parameters

user DSSUser

Пользователь, для которого устанавливается новый пароль

callback @escaping (_ result:​ Result<Void, Error>) -> Void

Замыкание возвращает результат

result

В случае успеха не возвращает ничего. Иначе — возвращает ошибку

revoke(user:​callback:​)

public static func revoke(
        user: DSSUser,
        callback: @escaping (_ result: Result<Void, Error>) -> Void
    )  

Отзыв "вектора аутентификации" на сервере DSS. Делает вектор недействительным

Parameters

user DSSUser

Пользователь, для которого отзывается "вектор аутентификации"

callback @escaping (_ result:​ Result<Void, Error>) -> Void

Замыкание возвращает результат

result

В случае успеха не возвращает ничего. Иначе — возвращает ошибку

get​Operations​History(user:​count:​bookmark:​operations​Codes:​callback:​)

public static func getOperationsHistory(
        user: DSSUser,
        count: Int = 1,
        bookmark: Int?,
        operationsCodes: [Int] = [],
        callback: @escaping (_ result: Result<DSSOperationsHistory, Error>) -> Void
    )  

Получение истории операций пользователя на сервисе.

Parameters

user DSSUser

Пользователь, чью историю операций нужно показать

count Int

Количество операций для показа

bookmark Int?

Идентификатор записи

operations​Codes [Int]

Коды операций для отображения

callback @escaping (_ result:​ Result<DSSOperations​History, Error>) -> Void

Замыкание возвращает результат

result

Возвращает историю операций или ошибку

update​Device​Info(push​Notifications​Data:​device​Name:​user:​callback:​)

public static func updateDeviceInfo(
        pushNotificationsData: PushNotificationsData?,
        deviceName: String?,
        user: DSSUser,
        callback: @escaping (Result<Void, Error>) -> Void
    )  

Обновляет сведения об устройстве пользователя на сервере DSS

Parameters

push​Notifications​Data Push​Notifications​Data?

Данные для пуш-уведомлений

device​Name String?

Название устройства

user DSSUser

Пользователь, чьи данные нужно обновить

callback @escaping (Result<Void, Error>) -> Void

Замыкание возвращает результат

result

В случае успеха не возвращает ничего. Иначе — возвращает ошибку