Lock.swift : Options de configuration
Il existe de nombreuses options pour configurer le comportement de Lock, énumérées ci-dessous. En outre, il existe également de nombreuses options disponibles pour modifier l’apparence et le style de Lock dans la page Options de personnalisation du style.
Configuration du comportement de Lock
Des options de configuration peuvent être ajoutées à votre initialisation de Lock à l’aide de withOptions
.
Lock
.classic()
.withOptions {
$0.closable = true
$0.usernameStyle = [.Username]
$0.allow = [.Login, .ResetPassword]
}
.present(from: self)
Was this helpful?
Options de comportement
Fermable
Permet à Lock d’être rejeté par l’utilisateur. Par défaut, cette valeur est définie comme false
.
.withOptions {
$0.closable = true
}
Was this helpful?
permission
Permission utilisée pour l’authentification. La valeur par défaut est openid
. Elle retournera non seulement le Jeton d’accès, mais aussi un Jeton d’ID qui est un jeton Web JSON (JWT) contenant des informations sur l’utilisateur. Veuillez consulter la documentation sur les Permissions pour plus d’informations sur les permissions d’authentification.
.withOptions {
$0.scope = "openid name email picture"
}
Was this helpful?
Jetons d’actualisation
Spécifier la permission offline_access
dans vos options Lock permettra à un Jeton d’actualisation d’être retourné avec l’access_token et l’id_token. Les jetons d’actualisation peuvent être enregistrés et utilisés pour acquérir un nouveau jeton d’accès lorsque l’ancien jeton expire. Pour plus d’informations sur l’utilisation des jetons d’actualisation pour l’authentification Auth0, veuillez consulter la documentation de référence pour la trousse SDK pour Auth0.Swift, que vous utiliseriez pour implémenter des jetons d’actualisation, ou le Swift Quickstart Guide (Guide de démarrage rapide de Swift), qui fournit un exemple complet d’utilisation d’Auth0 dans le développement Swift, y compris la gestion des jetons d’actualisation.
termsOfService
Par défaut, Lock utilisera les Conditions d’utilisation et la Politique de confidentialité d’Auth0, mais d’autres URL peuvent être renseignées pour créer un lien vers d’autres conditions et politiques.
.withOptions {
$0.termsOfService = "https://mycompany.com/terms"
$0.privacyPolicy = "https://mycompany.com/privacy"
}
Was this helpful?
Afficher les Conditions d’utilisation
Les connexions à la base de données affichent la boîte de dialogue Conditions d’utilisation. La valeur par défaut est true
. Veuillez noter que les Conditions d’utilisation seront toujours affichées si le drapeau mustAcceptTerms
est activé.
.withOptions {
$0.showTerms = true
}
Was this helpful?
Exiger que les utilisateurs acceptent les Conditions d’utilisation
La connexion à la base de données nécessite l’acceptation explicite des Conditions d’utilisation.
.withOptions {
$0.mustAcceptTerms = true
}
Was this helpful?
Options d’authentification Web
marge
Décalage d’horloge utilisé pour la validation du jeton d’ID. Il élargit la fenêtre temporelle dans laquelle le jeton d’ID sera toujours considéré comme valide, pour tenir compte de la différence entre l’heure du serveur et l’heure du client. Par défaut elle est de 60 000 millisecondes (60 secondes).
.withOptions {
$0.leeway = 30000 // 30 seconds
}
Was this helpful?
maxAge
Temps écoulé autorisé (en millisecondes) depuis la dernière authentification de l’utilisateur. Utilisé pour la validation du jeton d’ID. Si défini, le jeton d’ID contiendra une demande auth_time
avec l’horodatage d’authentification. Par défaut nil
.
.withOptions {
$0.maxAge = 86400000 // 1 day
}
Was this helpful?
Options de base de données
autorise
Quels écrans de base de données seront accessibles; la valeur par défaut est d’activer tous les écrans tels que .Login, .Signup, .ResetPassword
.
.withOptions {
$0.allow = [.Login, .ResetPassword]
}
Was this helpful?
initialScreen
Le premier écran à présenter à l’utilisateur. La valeur par défaut est .Login
, d’autres options incluent .Signup
et .ResetPassword
.
.withOptions {
$0.initialScreen = .Login
}
Was this helpful?
usernameStyle
Spécifie le type d’identifiant dont la connexion aura besoin. La valeur par défaut est : [.Username, .Email]
, mais peut également accepter [.Username]
ou [.Email]
. Cependant, il est important de noter que cette option n’est active que si vous avez défini le drapeau requires_username
sur true
dans votre Auth0 Dashboard.
.withOptions {
$0.usernameStyle = [.Username]
}
Was this helpful?
Champs d’inscription personnalisés
Lors de l’inscription, les informations requises par défaut sont l’adresse courriel et le mot de passe de l’utilisateur. Vous pouvez élargir vos exigences en matière de capture de données selon vos besoins. La capture de champs supplémentaires lors de l’inscription stockera ces valeurs dans la bibliothèque user_metadata
, dont vous trouverez plus d’informations dans les métadonnées. Veuillez noter que vous devez spécifier l’icône à utiliser avec votre champ de texte personnalisé.
.withOptions {
$0.customSignupFields = [
CustomTextField(name: "first\_name", placeholder: "First Name", icon: LazyImage(name: "ic_person", bundle: Lock.bundle)),
CustomTextField(name: "last\_name", placeholder: "Last Name", icon: LazyImage(name: "ic_person", bundle: Lock.bundle))
]
}
Was this helpful?
Vous pouvez également spécifier des icônes provenant d’autres groupes, comme dans l’exemple suivant : CustomTextField(name: "slack_handle", placeholder: "Slack Handle", icon: LazyImage(name: "ic_slack", bundle: Bundle(identifier: "CustomBundle")))
Options Entreprise
Il existe également des options de configuration spécifiques aux connexions Enterprise :
enterpriseConnectionUsingActiveAuth
Par défaut, les connexions Entreprise utiliseront l’authentification Web. Cependant, vous pouvez spécifier quelles connexions utiliseront alternativement l’authentification par informations d’identification et demanderont un nom d’utilisateur et un mot de passe.
.withOptions {
$0.enterpriseConnectionUsingActiveAuth = ["enterprisedomain.com"]
}
Was this helpful?
activeDirectoryEmailAsUsername
En mode d’authentification par identifiants, l’utilisateur doit-il utiliser son adresse courriel comme identifiant? La valeur par défaut est false
, et nécessite plutôt un nom d’utilisateur.
.withOptions {
$0.activeDirectoryEmailAsUsername = true
}
Was this helpful?
Options de journalisation
Lock propose des options qui permettent d’activer et de désactiver facilement les capacités de journalisation, ainsi que d’ajuster d’autres paramètres liés à celles-ci.
logLevel
Par défaut, la valeur est .off
, les niveaux de journalisation Syslog sont pris en charge.
.withOptions {
$0.logLevel = .all
}
Was this helpful?
logHttpRequest
S’il faut ou non enregistrer les requêtes API Auth0.swift. Par défaut, cette valeur est false
.
.withOptions {
$0.logHttpRequest = true
}
Was this helpful?
loggerOutput
Spécifiez le gestionnaire de logger output, par défaut, il utilise la déclaration print
.
.withOptions {
$0.loggerOutput = CleanroomLockLogger()
}
Was this helpful?
Dans le code ci-dessus, le loggerOutput a été défini pour utiliser CleanroomLogger. Cela peut être réalisé en mettant en œuvre le protocole loggerOutput. Vous pouvez bien sûr utiliser votre bibliothèque de journalisation préférée. Vous trouverez ci-dessous un exemple d’utilisation de la gestion de journaux avec CleanroomLogger.
class CleanroomLockLogger: LoggerOutput {
func message(_ message: String, level: LoggerLevel, filename: String, line: Int) {
let channel: LogChannel?
switch level {
case .debug:
channel = Log.debug
case .error:
channel = Log.error
case .info:
channel = Log.info
case .verbose:
channel = Log.verbose
case .warn:
channel = Log.warning
default:
channel = nil
}
channel?.message(message, filePath: filename, fileLine: line)
}
}
Was this helpful?