Class
DSSUsersManagerNonQual
public final class DSSUsersManagerNonQual
Класс для управления и выполнения "активных" действий над пользователями DSS на стороне SDK. Используется для работы с УНЭП (Неквалифицированная подпись)
Methods
createDSSUserWithInitQR(qrCode:pushNotificationsData:deviceName:externalId:alias:callback:)
public static func createDSSUserWithInitQR(
qrCode: DSSQRCodeKinit,
pushNotificationsData: PushNotificationsData? = nil,
deviceName: String,
externalId: String?,
alias: String?,
callback: @escaping (_ result: Result<DSSUser, Error>) -> Void
)
Создание "неподтвержденной" учетной записи в DSS с получением "вектора аутентификации" к ней с использованием QR-кода
Parameters
Name | Type | Description |
---|---|---|
qrCode | DSSQRCodeKinit |
Экземпляр |
pushNotificationsData | PushNotificationsData? |
Данные для отправки пуш-уведомлений |
deviceName | String |
Отображаемое дружественное имя устройства |
externalId | String? |
Внешний идентификатор |
alias | String? |
Уникальный человекочитаемый идентификатор, используемый для подтверждения владения МУ пользователем. Если данный параметр отсутствует в запросе, то его значение будет создано автоматически на стороне сервера. |
callback | @escaping (_ result: Result<DSSUser, Error>) -> Void |
Замыкание возвращает результат |
result | В случае успеха вернёт экземпляр неподтверждённого пользователя. Иначе — возвращает ошибку |
createDSSUser(serviceURL:pushNotificationsData:deviceName:externalId:alias:callback:)
public static func createDSSUser(
serviceURL: URL,
pushNotificationsData: PushNotificationsData? = nil,
deviceName: String,
externalId: String?,
alias: String?,
callback: @escaping (_ result: Result<DSSUser, Error>) -> Void
)
Создание "неподтвержденной" учетной записи в DSS с получением "вектора аутентификации" к ней
Parameters
Name | Type | Description |
---|---|---|
serviceURL | URL |
Адрес сервера |
pushNotificationsData | PushNotificationsData? |
Данные для отправки пуш-уведомлений |
deviceName | String |
Отображаемое дружественное имя устройства |
externalId | String? |
Внешний идентификатор |
alias | String? |
Уникальный человекочитаемый идентификатор, используемый для подтверждения владения МУ пользователем. Если данный параметр отсутствует в запросе, то его значение будет создано автоматически на стороне сервера. |
callback | @escaping (_ result: Result<DSSUser, Error>) -> Void |
Замыкание возвращает результат |
result | В случае успеха вернёт экземпляр неподтверждённого пользователя. Иначе — возвращает ошибку |
acceptAccountChanges(user:verificationQRCode:callback:)
public static func acceptAccountChanges(
user: DSSUser,
verificationQRCode: DSSQRCodeVerification?,
callback: @escaping (_ result: Result<DSSUser, Error>) -> Void
)
Подтверждение присоединения мобильного устройства к учётной записи
Перед выполнением user.isReadyToSign
должен быть true
. Если user.verification == .qrRequired
,
то нужно обязательно указать значение verificationQRValue
Parameters
Name | Type | Description |
---|---|---|
user | DSSUser |
Пользователь для подтверждения |
verificationQRValue | QR-код с данными для подтверждения |
|
callback | @escaping (_ result: Result<DSSUser, Error>) -> Void |
Замыкание возвращает результат |
result | В случае успеха вернёт экземпляр подтверждённого пользователя. Иначе — возвращает ошибку |
createDSSUserWithApproval(serviceURL:uid:pushNotificationsData:deviceName:externalId:alias:callback:)
public static func createDSSUserWithApproval(
serviceURL: URL,
uid: String,
pushNotificationsData: PushNotificationsData? = nil,
deviceName: String,
externalId: String?,
alias: String?,
callback: @escaping (_ result: Result<DSSUser, Error>) -> Void
)
Создание запроса на добавление устройства к учетной записи DSS
Parameters
Name | Type | Description |
---|---|---|
serviceURL | URL |
Адрес сервера |
uid | String |
Идентификатор пользователя, к которому нужно подключить устройство |
pushNotificationsData | PushNotificationsData? |
Данные для отправки пуш-уведомлений |
deviceName | String |
Отображаемое дружественное имя устройства |
externalId | String? |
Внешний идентификатор |
alias | String? |
Уникальный человекочитаемый идентификатор, используемый для подтверждения владения МУ пользователем. Если данный параметр отсутствует в запросе, то его значение будет создано автоматически на стороне сервера. Указывается, если нужно удалить запрос на сертификат |
callback | @escaping (_ result: Result<DSSUser, Error>) -> Void |
Замыкание возвращает результат |
result | В случае успеха вернёт экземпляр неподтверждённого пользователя. Иначе — возвращает ошибку |
checkApprovalStatus(user:callback:)
public static func checkApprovalStatus(
user: DSSUser,
callback: @escaping (_ result: Result<DSSUser, Error>) -> Void
)
Проверка статуса подключения устройства
Parameters
Name | Type | Description |
---|---|---|
user | DSSUser |
Пользователь, чей статус нужно проверить |
callback | @escaping (_ result: Result<DSSUser, Error>) -> Void |
Замыкание возвращает результат |
result | Возвращает пользователя, если он подтверждён. Иначе — возвращает ошибку |
store(user:name:password:callback:)
public static func store(
user: DSSUser,
name: String,
password: String,
callback: @escaping (_ result: Result<DSSUser, Error>) -> Void
)
Сохранение пользователя в БД
Parameters
Name | Type | Description |
---|---|---|
user | DSSUser |
Пользователь, которого нужно сохранить |
name | String |
Имя, под которым пользователь будет сохранён |
password | String |
Пароль для сохранения |
callback | @escaping (_ result: Result<DSSUser, Error>) -> Void |
Замыкание возвращает результат |
result | Возвращает экземпляр сохранённого пользователя или ошибку |
submitPassword(user:password:)
public static func submitPassword(
user: DSSUser,
password: String
) throws
Предъявление пароля на "вектор аутентификации"
После выполнения user.isReadyToSign
станет true
Parameters
Name | Type | Description |
---|---|---|
user | DSSUser |
Пользователь, для которого предъявляется пароль |
password | String |
Предъявляемый пароль |
Throws
Если пароль не верный, вернётся ошибка DSSError.wrongPassword
changePassword(user:newPassword:)
public static func changePassword(
user: DSSUser,
newPassword: String
) throws
Сохранение с новым паролем на "вектор аутентификации"
Перед выполнением user.isReadyToSign
должен быть true
Parameters
Name | Type | Description |
---|---|---|
user | DSSUser |
Пользователь, для которого устанавливается новый пароль |
newPassword | String |
Новый пароль |
Throws
Вернётся ошибка, если не удастся сменить пароль
revoke(user:callback:)
public static func revoke(
user: DSSUser,
callback: @escaping (_ result: Result<Void, Error>) -> Void
)
Отзыв "вектора аутентификации" на сервере DSS.
Перед выполнением user.isReadyToSign
должен быть true
Parameters
Name | Type | Description |
---|---|---|
user | DSSUser |
Пользователь, для которого отзывается "вектор аутентификации" |
callback | @escaping (_ result: Result<Void, Error>) -> Void |
Замыкание возвращает результат |
result | В случае успеха не возвращает ничего. Иначе — возвращает ошибку |