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.