Ajouter la détection des robots aux applications natives

Vous pouvez ajouter la détection des robots à vos applications natives avec peu ou pas de configuration supplémentaire en fonction de la trousse SDK et du flux d’authentification que vous utilisez.

Auth0.swift et Auth0.Android

Si vous utilisez la connexion universelle, la détection des robots est automatiquement prise en charge par les versions des trousses SDK suivantes :

  • Auth0.swift version 1.28.0+

  • Auth0.Android version 1.25.0+

Si vous n’utilisez pas la connexion universelle, la détection des robots est prise en charge, mais vous devez configurer votre application en conséquence :

  • Votre application doit gérer l’exception require_verification (qui est activée lorsqu’une tentative de connexion à haut risque est détectée), puis déclencher un flux WebAuth pour rendre une étape de vérification CAPTCHA.

  • Lorsque vous déclenchez le flux WebAuth, vous pouvez transmettre le paramètre login_hint pour éviter que l’utilisateur n’ait besoin de saisir à nouveau son nom d’utilisateur.

Exemple Auth0.swift

Si votre application effectue une connexion/inscription à la base de données via l’Authentication API, vous devez gérer l’erreur isVerificationRequired. Cette erreur indique que la demande a été signalée comme suspecte et qu’une étape de vérification supplémentaire est nécessaire pour authentifier l’utilisateur.

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()
                    // ☝🏼 Otherwise a session cookie will remain
                    .parameters(["login_hint": email])
                    // ☝🏼 So the user doesn't have to type it again
                    .start { result in
                        // ...
                    }
            }
        case .failure(let error): // ...
        }
    }

Was this helpful?

/

Dans le cas d’une inscription, vous pouvez ajouter un paramètre supplémentaire pour que l’utilisateur arrive directement sur la page d’inscription :

.parameters(["login_hint": email, "screen_hint": "signup"])

Lisez Premiers pas avec Auth0.swift pour plus de détails sur la configuration de la connexion universelle.

Exemple Auth0.Android

Si votre application effectue une connexion/inscription à la base de données par le biais de l’Authentication API, vous devez gérer l’erreur AuthenticationException#isVerificationRequired(). Cette erreur indique que la demande a été signalée comme suspecte et qu’une étape de vérification supplémentaire est nécessaire pour connecter l’utilisateur.

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); // So the user doesn't have to type it again
                    WebAuthProvider.login(account)
                            .withConnection(realm)
                            .withParameters(params)
                            .start(LoginActivity.this, new AuthCallback() {
                                // You might already have an AuthCallback instance defined

                                @Override
                                public void onFailure(@NonNull Dialog dialog) {
                                    // Error dialog available
                                }

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

                                @Override
                                public void onSuccess(@NonNull Credentials credentials) {
                                    // Handle WebAuth success
                                }
                            });
                }
            }

            @Override
            public void onSuccess(Credentials payload) {
                // Handle API success
            }
        });

Was this helpful?

/

Dans le cas d’une inscription, vous pouvez ajouter un paramètre supplémentaire pour que l’utilisateur arrive directement sur la page d’inscription :

params.put("screen_hint", "signup");

Lisez la documentation Authentification Auth0.Android avec la trousse SDK de connexion universelle pour plus de détails sur la configuration de la connexion universelle.

Lock.Swift et Lock.Android

Si vous utilisez la connexion universelle, la détection des robots est automatiquement prise en charge par les versions des trousses SDK suivantes :

  • Lock.Swift version 2.19.0+

  • Lock.Android version 2.22.0+

Si vous n’utilisez pas la connexion universelle, la détection des robots est prise en charge, mais vous devez configurer votre application en conséquence :

  • Votre application doit gérer l’exception require_verification (qui est activée lorsqu’une tentative de connexion à haut risque est détectée), puis déclencher un flux WebAuth pour rendre une étape de vérification CAPTCHA.

  • Lorsque vous déclenchez le flux WebAuth, vous pouvez transmettre le paramètre login_hint pour éviter que l’utilisateur n’ait besoin de saisir à nouveau son nom d’utilisateur.

Authentication API

Si vous utilisez directement l’Authentication API, la détection des robots est prise en charge, mais vous devez configurer votre application en conséquence :

  • Votre application doit gérer l’erreur require_verification (qui est envoyée par l’Authentication API lorsqu’une tentative de connexion à haut risque est détectée), puis déclencher un flux WebAuth pour renvoyer une étape de vérification CAPTCHA.

En savoir plus