DSSUsersManager
public final class DSSUsersManager
Класс для управления и выполнения “активных” действий над пользователями DSS на стороне SDK. Используется для работы с УКЭП (квалифицированная подпись)
-
Перечисление доступных объектов DSSUser
Declaration
Swift
public static var users: [DSSUser] { get }
-
Переименование пользователя в хранилище
После переименования переданный экземпляр пользователя (
DSSUser
) станет неактуальным. Обновлённый экземпляр можно получить, используяDSSUsersManager.users
Declaration
Swift
public static func rename( user: DSSUser, newName: String)
Parameters
user
Пользователь, чьё имя нужно переименовать
newName
Новое имя пользователя
-
Удаление пользователя из хранилища
Declaration
Swift
public static func delete( user: DSSUser)
Parameters
user
Пользователь для удаления
-
Обновление статуса DSSUser информацией с сервера
Declaration
Parameters
user
Пользователь для обновления
callback
Замыкание возвращает результат
result
В случае успеха вернет экземпляр обновлённого пользователя. Иначе — возвращает ошибку
-
createDSSUserWithInitQR(name:
pushNotificationsData: deviceName: externalId: alias: requirePassword: callback: ) Создание “неподтвержденной” учётной записи в DSS с получением “вектора аутентификации” к ней с использованием QR-кода
Для запроса используется Kinit, полученный из QR-кода.
Запускает последовательность экранов SDK: запрос кода активации (при необходимости), задание пароля и использование Face ID / Touch ID (если разрешено).
После выполнения
isReadyToSign = false
, созданная учетная запись имеет статусinstalled
.Declaration
Swift
public static func createDSSUserWithInitQR( name: String, pushNotificationsData: PushNotificationsData? = nil, deviceName: String, externalId: String?, alias: String?, requirePassword: Bool, callback: @escaping (_ result: Result<DSSUser, Error>) -> Void)
Parameters
name
Имя для сохранения учётной записи
pushNotificationsData
Данные для отправки пуш-уведомлений
deviceName
Отображаемое дружественное имя устройства
externalId
Внешний идентификатор
alias
Уникальный человекочитаемый идентификатор, используемый для подтверждения владения МУ пользователем. Если данный параметр отсутствует в запросе, то его значение будет создано автоматически на стороне сервера.
requirePassword
Нужно ли установить пароль
callback
Замыкание возвращает результат
result
В случае успеха вернет экземпляр неподтверждённого пользователя. Иначе — возвращает ошибку
-
createDSSUser(serviceURL:
name: pushNotificationsData: deviceName: externalId: alias: requirePassword: callback: ) Создание “неподтвержденной” учётной записи в DSS с получением “вектора аутентификации” к ней
Запускает последовательность экранов SDK: задание пароля и использование Face ID / Touch ID (если разрешено).
После выполнения
isReadyToSign = false
, созданная учётная запись имеет статусinstalled
.Declaration
Swift
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)
Parameters
serviceURL
Адрес сервера
name
Имя для сохранения учётной записи
pushNotificationsData
Данные для отправки пуш-уведомлений
deviceName
Отображаемое дружественное имя устройства
externalId
Внешний идентификатор
alias
Уникальный человекочитаемый идентификатор, используемый для подтверждения владения МУ пользователем. Если данный параметр отсутствует в запросе, то его значение будет создано автоматически на стороне сервера.
requirePassword
Нужно ли установить пароль
callback
Замыкание возвращает результат
result
В случае успеха вернет экземпляр неподтверждённого пользователя. Иначе — возвращает ошибку
-
createDSSUserWithApproval(serviceURL:
uid: name: pushNotificationsData: deviceName: externalId: alias: requirePassword: callback: ) Создание запроса на добавление устройства к учётной записи DSS
Запускает последовательность экранов SDK: задание пароля и использование Face ID / Touch ID (если разрешено).
Создаёт нового неподтверждённого пользователя (
user.state = .approveRequired
) и сохраняет его в хранилище.Подтверждение с другого устройства выполняется через
DSSDevicesManager.approve(...)
.Declaration
Swift
public static func createDSSUserWithApproval( serviceURL: URL, uid: String, name: String, pushNotificationsData: PushNotificationsData? = nil, deviceName: String, externalId: String?, alias: String?, requirePassword: Bool, callback: @escaping (_ result: Result<DSSUser, Error>) -> Void)
Parameters
serviceURL
Адрес сервера
uid
Идентификатор пользователя, к которому нужно подключить устройство
name
Имя для сохранения учётной записи
pushNotificationsData
Данные для отправки пуш-уведомлений
deviceName
Отображаемое дружественное имя устройства
externalId
Внешний идентификатор
alias
Уникальный человекочитаемый идентификатор, используемый для подтверждения владения МУ пользователем. Если данный параметр отсутствует в запросе, то его значение будет создано автоматически на стороне сервера.
requirePassword
Нужно ли установить пароль
callback
Замыкание возвращает результат
result
В случае успеха вернет экземпляр неподтверждённого пользователя. Иначе — возвращает ошибку
-
Подтверждение присоединения мобильного устройства к учётной записи
Запускает последовательность экранов SDK: подтверждение учётной записи и сканирование QR-кода (если необходимо) Выполнение возможно только при статусе учётной записи DSS
notVerified
.Перед выполнением необходимо выполнить
DSSUsersManager.updateStatus
для получения актуального статуса учётной записи пользователя.Учётная запись пользователя на DSS переводится в статус Active.
Declaration
Parameters
user
Пользователь мобильного устройства
callback
Замыкание возвращает результат
result
В случае успеха вернёт экземпляр подтверждённого пользователя. Иначе — возвращает ошибку
-
Проверка статуса запроса на добавление устройства к учётной записи DSS
Проверяет текущий статус устройства. Если статус
.approveRequired
, то запускает экран SDK с QR-кодом.Declaration
Parameters
unapprovedUser
Пользователь, чей статус нужно проверить
callback
Замыкание возвращает результат
result
Возвращает пользователя, если он подтверждён. Иначе — возвращает ошибку
-
Предъявление пароля на “вектор аутентификации”
Запускает последовательность экранов SDK: запрос текущего пароля. Если используется Face ID / Touch ID, то появится системный интерфейс.
После выполнения
user.isReadyToSign
станетtrue
Declaration
Swift
public static func submitPassword( user: DSSUser, callback: @escaping (_ result: Result<Void, Error>) -> Void)
Parameters
user
Пользователь, для которого предъявляется пароль
callback
Замыкание возвращает результат
result
В случае успеха не возвращает ничего. Иначе — возвращает ошибку
-
Изменение пароля на “вектор аутентификации”
Запускает последовательность экранов SDK, выполняющих запрос текущего пароля и установки нового пароля. После выполнения
isReadyToSign = false
Declaration
Swift
public static func changePassword( user: DSSUser, callback: @escaping (_ result: Result<Void, Error>) -> Void)
Parameters
user
Пользователь, для которого устанавливается новый пароль
callback
Замыкание возвращает результат
result
В случае успеха не возвращает ничего. Иначе — возвращает ошибку
-
Отзыв “вектора аутентификации” на сервере DSS. Делает вектор недействительным
Declaration
Swift
public static func revoke( user: DSSUser, callback: @escaping (_ result: Result<Void, Error>) -> Void)
Parameters
user
Пользователь, для которого отзывается “вектор аутентификации”
callback
Замыкание возвращает результат
result
В случае успеха не возвращает ничего. Иначе — возвращает ошибку
-
Получение истории операций пользователя на сервисе.
Declaration
Swift
public static func getOperationsHistory( user: DSSUser, count: Int = 1, bookmark: Int?, operationsCodes: [Int] = [], callback: @escaping (_ result: Result<DSSOperationsHistory, Error>) -> Void)
Parameters
user
Пользователь, чью историю операций нужно показать
count
Количество операций для показа
bookmark
Идентификатор записи
operationsCodes
Коды операций для отображения
callback
Замыкание возвращает результат
result
Возвращает историю операций или ошибку