Saltar al contenido principal
Puede añadir detección de bots a sus aplicaciones nativas con poca o ninguna configuración adicional, según el SDK y el flujo de autenticación que utilice.

Auth0.swift y Auth0.Android

Si usas , la se admite automáticamente en las siguientes versiones del SDK:
  • Auth0.swift versión 1.28.0+
  • Auth0.Android versión 1.25.0+
Si no usas Universal Login, la detección de bots es compatible, pero debes configurar tu aplicación según corresponda:
  • Tu aplicación debe gestionar la excepción requires_verification (que se genera cuando se detecta un intento de inicio de sesión de alto riesgo) y, a continuación, iniciar un flujo de WebAuth para mostrar un paso de verificación con captcha.
  • Cuando inicies el flujo de WebAuth, puedes pasar el parámetro login_hint para evitar que el usuario tenga que escribir su username de nuevo.

Ejemplo de Auth0.swift

Si tu aplicación realiza el inicio de sesión o el registro en base de datos mediante la Authentication API, debes gestionar el error isVerificationRequired. Este error indica que la solicitud se marcó como sospechosa y que se requiere un paso de verificación adicional para autenticar al usuario.
Este paso de verificación se realiza a través de la web, por lo que debes usar Universal Login para completarlo.
Auth0
    .authentication()
    .login(usernameOrEmail: email, 
           password: password, 
           realmOrConnection: connection, 
           scope: scope)
    .start { result in
        switch result {
        case .success(let credentials): // ...
        case .failure(let error) where error.isVerificationRequired:
            DispatchQueue.main.async {
                Auth0
                    .webAuth()
                    .connection(connection)
                    .scope(scope)
                    .useEphemeralSession()
                    // ☝🏼 De lo contrario, quedará una cookie de sesión
                    .parameters(["login_hint": email])
                    // ☝🏼 Para que el usuario no tenga que volver a escribirlo
                    .start { result in
                        // ...
                    }
            }
        case .failure(let error): // ...
        }
    }
En el caso del registro, puedes agregar un parámetro adicional para que el usuario vaya directamente a la página de registro: .parameters(["login_hint": email, "screen_hint": "signup"]) Consulta Auth0.swift Getting Started para obtener más información sobre cómo configurar Universal Login.

Ejemplo de Auth0.Android

Si tu aplicación realiza el inicio de sesión o el registro en una base de datos mediante la Authentication API, debes gestionar el error AuthenticationException#isVerificationRequired(). Este error indica que la solicitud se marcó como sospechosa y que se requiere un paso de verificación adicional para iniciar sesión como usuario.
Este paso de verificación se realiza en la web, por lo que debes usar Universal Login para completarlo.
final String email = "username@domain.com";
final String password = "a secret password";
final String realm = "my-database-connection";

AuthenticationAPIClient authentication = new AuthenticationAPIClient(account);
authentication.login(email, password, realm)
        .start(new BaseCallback<Credentials, AuthenticationException>() {

            @Override
            public void onFailure(AuthenticationException error) {
                if (error.isVerificationRequired()){
                    Map<String, Object> params = new HashMap<>();
                    params.put("login_hint", email); // Para que el usuario no tenga que volver a escribirlo
                    WebAuthProvider.login(account)
                            .withConnection(realm)
                            .withParameters(params)
                            .start(LoginActivity.this, new AuthCallback() {
                                // Es posible que ya tenga definida una instancia de AuthCallback

                                @Override
                                public void onFailure(@NonNull Dialog dialog) {
                                    // Diálogo de error disponible
                                }

                                @Override
                                public void onFailure(AuthenticationException exception) {
                                    // Error
                                }

                                @Override
                                public void onSuccess(@NonNull Credentials credentials) {
                                    // Gestionar el éxito de WebAuth
                                }
                            });
                }
            }

            @Override
            public void onSuccess(Credentials payload) {
                // Gestionar el éxito de la API
            }
        });
En el caso del registro, puede agregar un parámetro adicional para que el usuario acceda directamente a la página de registro: params.put("screen_hint", "signup"); Consulte la documentación del SDK de autenticación de Auth0.Android con Universal Login para obtener más información sobre cómo configurar Universal Login.

Lock.Swift y Lock.Android

Si utiliza Universal Login, la detección de bots es compatible automáticamente con las siguientes versiones del SDK:
  • Lock.Swift versión 2.19.0+
  • Lock.Android versión 2.22.0+
Si no utiliza Universal Login, la detección de bots es compatible, pero debe configurar la aplicación en consecuencia:
  • La aplicación debe manejar la excepción requires_verification (que se genera cuando se detecta un intento de inicio de sesión de alto riesgo) y, a continuación, activar un flujo de WebAuth para mostrar un paso de verificación con captcha.
  • Cuando active el flujo de WebAuth, puede pasar el parámetro login_hint para evitar que el usuario tenga que volver a escribir su username.

Authentication API

Si usa la Authentication API directamente, la detección de bots es compatible, pero debe configurar la aplicación en consecuencia:
  • La aplicación debe gestionar el error requires_verification (que devuelve la Authentication API cuando detecta un intento de inicio de sesión de alto riesgo) y, a continuación, activar un flujo de WebAuth para mostrar un paso de verificación con captcha.

Más información