Skip to main content
Guardian.swift vous permet d’intégrer le service multifactoriel Guardian d’Auth0 à votre propre application iOS, pour qu’elle serve elle-même de second facteur. Vos utilisateurs profiteront de tous les avantages de notre fluide directement dans votre application. Pour en savoir plus, consultez Bien démarrer avec Apple Push Notification Service.

Exigences

  • iOS 10+ et Swift 4.1 sont requis pour utiliser Guardian.
  • Pour utiliser ce SDK, vous devez configurer le service Guardian de votre tenant avec vos propres identifiants de notifications push, sinon vous ne recevrez aucune notification push. Pour en savoir plus, consultez Configurer les notifications push pour la MFA.

Installer le SDK Guardian pour iOS

CocoaPods

Guardian.swift est disponible par l’entremise de CocoaPods. Pour l’installer, ajoutez la ligne suivante à votre Podfile :

Carthage

Ajoutez cette ligne à votre Cartfile :

Activer les notifications push de Guardian

  1. Accédez à Dashboard > Sécurité > Multi-factor Auth.
  2. Activez la bascule Notification push.
  3. Configurer les notifications push.

Utilisation

Guardian est au cœur du SDK. Pour utiliser le SDK, procédez à l’importation de la bibliothèque :
Définissez le domaine de votre tenant. Ou utilisez le si vous en avez configuré un pour votre tenant :

Inscription

Une inscription établit un lien entre le deuxième facteur et un compte Auth0. Lorsqu’un compte est inscrit, vous devrez fournir le deuxième facteur requis pour vérifier l’identité. Si votre application n’utilise pas encore les notifications push ou que vous ne connaissez pas bien ce mécanisme, consultez Apple Push Notification Service Overview pour en savoir plus. Pour effectuer une inscription, vous avez besoin des renseignements suivants, en plus du domaine de votre tenant : Une fois que vous avez ces renseignements, vous pouvez inscrire votre appareil :
En cas de réussite, vous obtiendrez les renseignements d’inscription, qui doivent être stockés de manière sécurisée dans votre application. Ces renseignements comprennent l’identifiant d’inscription ainsi que le jeton de l’API Guardian associé à votre appareil pour mettre à jour ou supprimer votre inscription.

Clés de signature et de vérification

Guardian.swift fournit une classe pratique pour générer une clé de signature :
Cette clé n’existe qu’en mémoire, mais vous pouvez en obtenir la représentation Data et la stocker de façon sécuritaire, par exemple dans une SQLiteDB chiffrée :
Mais si vous voulez simplement le stocker dans le trousseau iOS :
L’exemple ci-dessus crée une clé et l’enregistre automatiquement sous le tag fourni. Si vous voulez la récupérer, vous pouvez utiliser ce tag :
Pour la clé de vérification, il suffit de l’obtenir à partir de n’importe quelle SigningKey, par exemple :

Autoriser les requêtes de connexion

Une fois l’inscription effectuée, vous recevrez une notification push chaque fois que l’utilisateur devra valider son identité avec MFA. Guardian fournit une méthode pour analyser les données reçues d’APNs et renvoyer une instance Notification prête à l’emploi.
Une fois que vous avez l’instance de notification, vous pouvez facilement autoriser la requête d’authentification à l’aide de la méthode allow. Vous aurez aussi besoin de certaines informations provenant de l’appareil inscrit que vous avez obtenues précédemment. Si vous avez plus d’une inscription, vous devrez trouver celle qui a le même id que la notification (la propriété enrollmentId). Une fois que vous avez ces informations, le paramètre device peut être n’importe quel élément qui implémente le protocole AuthenticatedDevice :
L’identifiant local est l’ID local de l’appareil; par défaut, lors de l’inscription, il s’agit de UIDevice.current.identifierForVendor. Ensuite, faites simplement la requête suivante :

Rejeter les requêtes de connexion

Pour rejeter une requête d’authentification, appelez plutôt reject. Vous pouvez aussi envoyer un motif de rejet facultatif. Le motif de rejet apparaîtra dans les journaux de Guardian.

Désinscription

Si vous souhaitez supprimer une inscription, par exemple pour désactiver MFA, vous pouvez envoyer la requête suivante :

Configurer l’inscription OTP sur mobile uniquement

Vous pouvez activer les mots de passe à usage unique (OTP) comme facteur MFA à l’aide du ou de la . Cette option ne nécessite pas de QR code et permet aux utilisateurs de s’inscrire manuellement. Pour inviter un utilisateur à s’inscrire, accédez à Auth0 Dashboard > User Management > Users et sélectionnez un utilisateur. Accédez ensuite à son onglet Details et utilisez la section Multi-Factor Authentication pour envoyer une invitation à l’inscription.

Connecter une ressource

Vous pouvez connecter une ressource à l’aide de l’Auth0 Dashboard ou du Guardian SDK.
Utiliser Auth0 Dashboard
  1. Accédez à l’écran de connexion Auth0 et copiez le code fourni, ou une clé semblable encodée en base32 obtenue d’une autre source. À l’étape suivante, vous saisirez ce code dans une application d’authentification.
    Un exemple d’écran de connexion affichant un code à usage unique
  2. Saisissez le code que vous avez copié dans une application d’authentification, comme Guardian.
Utiliser le SDK
  1. Importez la bibliothèque Guardian.
  2. Créez un générateur de code.
  3. Obtenez le code généré.

Entrez le code à usage unique

Dans l’écran de connexion Auth0, entrez le code que vous avez généré à l’étape précédente.
Exemple d’écran de connexion affichant un code à usage unique
Après avoir sélectionné Continuer, un message s’affiche pour indiquer que votre application a été ajoutée comme facteur d’authentification pour votre utilisateur.

Connectez-vous avec votre application

Une fois le facteur configuré, l’utilisateur peut se connecter à l’aide de votre application. Commencez par choisir l’application Guardian comme méthode d’authentification.
L’écran de sélection de la méthode d’authentification
Ensuite, entrez le code à usage unique dans l’écran de connexion pour vérifier votre identité.
L’écran Verify Your Identity invitant l’utilisateur à saisir un code à usage unique