Passer au contenu principal
Vous pouvez ajouter la détection des bots à vos applications natives avec peu ou pas de configuration supplémentaire, selon le SDK et le flux d’authentification que vous utilisez.

Auth0.swift et Auth0.Android

Si vous utilisez , la est automatiquement prise en charge par les versions de SDK suivantes :
  • Auth0.swift version 1.28.0+
  • Auth0.Android version 1.25.0+
Si vous n’utilisez pas Universal Login, la détection des bots est prise en charge, mais vous devez configurer votre application en conséquence :
  • Votre application doit gérer l’exception requires_verification (qui est levée lorsqu’une tentative de connexion à haut risque est détectée), puis lancer un flux WebAuth pour afficher une étape de vérification par CAPTCHA.
  • Lorsque vous lancez le flux WebAuth, vous pouvez transmettre le paramètre login_hint pour éviter que l’utilisateur doive saisir de nouveau son nom d’utilisateur.

Exemple Auth0.swift

Si votre application effectue une connexion ou une inscription à la base de données au moyen de l’Authentication API, vous devez gérer l’erreur isVerificationRequired. Cette erreur indique que la requête a été signalée comme suspecte et qu’une étape de vérification supplémentaire est nécessaire pour authentifier l’utilisateur.
Cette étape de vérification se fait sur le Web; vous devez donc utiliser Universal Login pour la terminer.
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()
                    // ☝🏼 Sinon, un cookie de session persistera
                    .parameters(["login_hint": email])
                    // ☝🏼 Pour que l'utilisateur n'ait pas à le saisir de nouveau
                    .start { result in
                        // ...
                    }
            }
        case .failure(let error): // ...
        }
    }
Dans le cas d’une inscription, vous pouvez ajouter un paramètre supplémentaire pour rediriger directement l’utilisateur vers la page d’inscription : .parameters(["login_hint": email, "screen_hint": "signup"]) Consultez Auth0.swift Getting Started pour en savoir plus sur la configuration de Universal Login.

Exemple Auth0.Android

Si votre application effectue l’inscription ou la connexion à une base de données par l’intermédiaire de l’Authentication API, vous devez gérer l’erreur AuthenticationException#isVerificationRequired(). Cette erreur indique que la requête a été signalée comme suspecte et qu’une étape de vérification supplémentaire est nécessaire pour que l’utilisateur puisse se connecter.
Cette étape de vérification se fait sur le Web; vous devez donc utiliser Universal Login pour la terminer.
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); // Pour que l'utilisateur n'ait pas à le saisir à nouveau
                    WebAuthProvider.login(account)
                            .withConnection(realm)
                            .withParameters(params)
                            .start(LoginActivity.this, new AuthCallback() {
                                // Vous avez peut-être déjà une instance AuthCallback définie

                                @Override
                                public void onFailure(@NonNull Dialog dialog) {
                                    // Boîte de dialogue d'erreur disponible
                                }

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

                                @Override
                                public void onSuccess(@NonNull Credentials credentials) {
                                    // Gérer le succès WebAuth
                                }
                            });
                }
            }

            @Override
            public void onSuccess(Credentials payload) {
                // Gérer le succès de l'API
            }
        });
Dans le cas d’une inscription, vous pouvez ajouter un paramètre supplémentaire pour diriger l’utilisateur directement vers la page d’inscription : params.put("screen_hint", "signup"); Consultez la documentation du SDK Auth0.Android pour l’authentification avec Universal Login pour en savoir plus sur la configuration de Universal Login.

Lock.Swift et Lock.Android

Si vous utilisez Universal Login, la détection des bots est automatiquement prise en charge par les versions de SDK suivantes :
  • Lock.Swift version 2.19.0+
  • Lock.Android version 2.22.0+
Si vous n’utilisez pas Universal Login, la détection des bots est prise en charge, mais vous devez configurer votre application en conséquence :
  • Votre application doit gérer l’exception requires_verification (qui est levée lorsqu’une tentative de connexion à haut risque est détectée), puis déclencher un flux WebAuth pour afficher une étape de vérification par captcha.
  • Lorsque vous déclenchez le flux WebAuth, vous pouvez transmettre le paramètre login_hint pour éviter que l’utilisateur ait à saisir de nouveau son nom d’utilisateur.

Authentication API

Si vous utilisez directement l’Authentication API, la fonctionnalité détection des bots est prise en charge, mais vous devez configurer votre application en conséquence :
  • Votre application doit gérer l’erreur requires_verification (renvoyée par l’Authentication API lorsqu’une tentative de connexion à haut risque est détectée), puis déclencher un flux WebAuth pour afficher une étape de vérification par captcha.

En savoir plus