createUser

inline fun UsersManager.createUser(parentActivity: Activity? = null, externalId: String? = null, alias: String? = null, name: String, serviceUrl: String, deviceName: String, pushData: PushNotificationData?, requirePassword: Boolean = true, crossinline onError: (error: Error) -> Unit, crossinline onNetworkError: (error: NetworkError) -> Unit, crossinline onSuccess: (success: User) -> Unit)

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

Запускает последовательность экранов SDK, выполняющих:

  1. Запрос политик сервера

  2. Запрос пароля и отпечатка с проверкой парольной политики:

    • Если парольная политика имеет значение 0 (допускается пропуск шага с заданием пароля) и requirePassword == false, то пароль не запрашивается

    • В противном случае пользователю предлагается ввести пароль

    • Если флаг KEYFLAG_DENY_STORE_WITH_OS_PROTECTION опущен, то введенный пароль предлагается зашифровать с использованием отпечатка пальца для возможности использования отпечатка в дальнейшем

  3. Регистрацию ключа на сервере (отпечаток устройства, пуш-идентификатор)

  4. Сохранение объекта User в хранилище Shared Preferences

После выполнения метода выполняется условие User.isReadyToSign == true, созданная учетная запись имеет статус Device.DeviceStatus.Installed.

Parameters

parentActivity

Экземпляр Activity приложения, с которого будет запущено Activity из SDK. При этом Activity из SDK добавляется в стек той же задачи, в которой запущена parentActivity. Если указать null, то Activity из SDK будет запущена отдельной задачей из контекста приложения, переданного при инициализации.

externalId

Идентификатор сущности вызывающего приложения, к которому будет "привязан" объект. Если настройки сервера запрещают задание этого параметра на стороне мобильного приложения, то следует передать значение null.

alias

Удобочитаемый идентификатор устройства. Допустима передача значения null.

name

Имя ключа для использования внутри приложения (не передаётся на сервер).

serviceUrl

URL для взаимодействия с сервером

deviceName

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

pushData

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

requirePassword

Требуется ли ручное задание пароля пользователем для защиты ключа

onError

При ошибке возвращается возвращает Error

onNetworkError

При сетевой ошибке возвращается NetworkError

onSuccess

При успешном выполнении возвращает созданный объект пользователя User

See also


inline fun UsersManagerNonQual.createUser(externalId: String?, alias: String?, serviceUrl: String, deviceName: String, pushData: PushNotificationData?, crossinline onError: (error: Error) -> Unit, crossinline onNetworkError: (error: NetworkError) -> Unit, crossinline onSuccess: (success: User) -> Unit)

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

Должен использоваться только в режиме УНЭП, не запускает последовательность экранов SDK.

После выполнения метода созданная учетная запись имеет статус Device.DeviceStatus.Created, а также выполняется условие User.isReadyToSign == true.

Parameters

externalId

Желаемое имя пользователя (login), имя пользователя может быть использовано вызывающей системой для управления учётной записью пользователя. Если данный параметр отсутствует в запросе, то его значение будет создано автоматически на стороне сервера.

alias

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

serviceUrl

URL для взаимодействия с сервером

deviceName

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

pushData

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

onError

При ошибке возвращается возвращает Error

onNetworkError

При сетевой ошибке возвращается NetworkError

onSuccess

При успешном выполнении возвращает созданный объект пользователя User

See also