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