DSSUsersManagerNonQual

public final class DSSUsersManagerNonQual

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

Импорт

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

    Declaration

    Swift

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

    Parameters

    qrCode

    Экземпляр DSSQRCodeKinit с данными для инициализации

    pushNotificationsData

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

    deviceName

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

    externalId

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

    alias

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

    callback

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

    result

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

Саморегистрация

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

    Declaration

    Swift

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

    Parameters

    serviceURL

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

    pushNotificationsData

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

    deviceName

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

    externalId

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

    alias

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

    callback

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

    result

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

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

    Перед выполнением user.isReadyToSign должен быть true. Если user.verification == .qrRequired, то нужно обязательно указать значение verificationQRValue

    Declaration

    Swift

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

    Parameters

    user

    Пользователь для подтверждения

    verificationQRValue

    QR-код с данными для подтверждения

    callback

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

    result

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

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

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

    Declaration

    Swift

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

    Parameters

    serviceURL

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

    uid

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

    pushNotificationsData

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

    deviceName

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

    externalId

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

    alias

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

    callback

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

    result

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

  • Проверка статуса подключения устройства

    Declaration

    Swift

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

    Parameters

    user

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

    callback

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

    result

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

Сохранение

  • Сохранение пользователя в БД

    Declaration

    Swift

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

    Parameters

    user

    Пользователь, которого нужно сохранить

    name

    Имя, под которым пользователь будет сохранён

    password

    Пароль для сохранения

    callback

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

    result

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

Работа с паролем

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

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

    Throws

    Если пароль не верный, вернётся ошибка DSSError.wrongPassword

    Declaration

    Swift

    public static func submitPassword(
        user: DSSUser,
        password: String) throws

    Parameters

    user

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

    password

    Предъявляемый пароль

  • Сохранение с новым паролем на “вектор аутентификации”

    Перед выполнением user.isReadyToSign должен быть true

    Throws

    Вернётся ошибка, если не удастся сменить пароль

    Declaration

    Swift

    public static func changePassword(
        user: DSSUser,
        newPassword: String) throws

    Parameters

    user

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

    newPassword

    Новый пароль

Отзыв ключа

  • Отзыв “вектора аутентификации” на сервере DSS.

    Перед выполнением user.isReadyToSign должен быть true

    Declaration

    Swift

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

    Parameters

    user

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

    callback

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

    result

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