onAddNewWebAuthnDeviceResult

client.onAddNewWebAuthnDeviceResult(
    requestCode,
    intent,
    success,
    failure
)

About this command

After launching a FIDO2 registration task (with the addNewWebAuthnDevice method), this method will parse the resulting intent and if successful, the new device will be added in the user’s registered FIDO2 devices.

  • The WebAuthn feature must be enabled on your ReachFive account.

Examples

import com.reach5.identity.sdk.core.models.AuthToken

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)

    // Method A, using SDK helper:
    val handler = reach5.resolveResultHandler(requestCode, resultCode, data)
    if (handler is WebAuthnDeviceAddResult) {
        handler.handle(
            success = {
                showToast("New FIDO2 device registered")
                refreshDevicesDisplayed()
            },
            failure = {
                Log.d(TAG, "onAddNewWebAuthnDeviceResult error=$it")
                showErrorToast(it)
            }
        )
    }

    // Method B, directly calling method. Nothing happens if requestCode does not concern SDK:
    reach5.onAddNewWebAuthnDeviceResult(
        requestCode,
        data,
        success = {
            showToast("New FIDO2 device registered")
            refreshDevicesDisplayed()
        },
        failure = {
            Log.d(TAG, "onAddNewWebAuthnDeviceResult error=$it")
            showErrorToast(it)
        }
    )
}

Parameters

requestCode Int

The Android request code obtained in onActivityResult.

intent Intent

The intent received after launching a FIDO2 task.

success function

Callback called once the request has succeeded. No argument is expected.

failure function

Callback called once the request has failed. You’ll get a ReachFiveError as an argument.

Response

Type: Unit

ReachFiveError

message string

The message of the error.

getErrorCode() ErrorCode

The error code’s enumeration value.

code string

The code from the underlying WebAuthn library.

Code Message Description

9

NOT_SUPPORTED_ERR

The operation is not supported.

11

INVALID_STATE_ERR

The object is in an invalid state.

18

SECURITY_ERR

The operation is insecure.

19

NETWORK_ERR

A network error has occurred.

20

ABORT_ERR

The operation was aborted.

23

TIMEOUT_ERR

The operation timed out.

27

ENCODING_ERR

The encoding operation (either encoded or decoding) failed.

28

UNKNOWN_ERR

The operation failed for an unknown transient reason.

29

CONSTRAINT_ERR

A mutation operation in a transaction failed because a constraint was not satisfied.

30

DATA_ERR

The provided data is inadequate.

35

NOT_ALLOWED_ERR

The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission to the application/request.

36

ATTESTATION_NOT_PRIVATE_ERR

The authenticator violates the privacy requirements that the AttestationStatementType it is using.

exception string

The stack trace of the error.

data ReachFiveApiError

Additional data about the error.

error string

The main error message.

errorId string

The identifier of the error.

errorUserMsg string

The user-friendly error message.

This property is translated according to the user’s browser settings. Currently supported languages:
Currently supported languages
  • de - Deutsch German

  • en - English

  • es - Español Spanish

  • fr - Français French

  • hu - Magyar Hungarian

  • it - Italiano Italian

  • nl - Nederlands Dutch

  • ru - Ру́сский Russian

  • sk - Slovenský Slovak

  • pt - Portuguese

errorMessageKey string

The technical error code.

errorDescription string

The technical error message.

errorDetails ReachFiveApiErrorDetails

  • field - The field concerned by the error.

  • message - The message error returned for the field.