Tutoriel : connecter automatiquement un utilisateur à une application iOS/macOS après l’inscription
S’applique à : iOS (Swift) macOS (Swift)
Ce tutoriel montre comment connecter l’utilisateur automatiquement après l’inscription à une application iOS/macOS à l’aide de l’authentification native.
Dans ce tutoriel, vous allez apprendre à :
- Vous connecter après l’inscription.
- Gérer les erreurs.
Prérequis
- Si vous utilisez iOS, suivez les étapes de la procédure Connecter des utilisateurs dans un exemple d’application mobile iOS (Swift) à l’aide de l’authentification native. Si vous utilisez macOS, suivez les étapes de la procédure Connecter des utilisateurs dans un exemple d’application macOS (Swift) à l’aide de l’authentification native. Cet article vous montre comment exécuter des exemples d’application Android que vous configurez à l’aide des paramètres de votre locataire.
- Tutoriel : ajouter une inscription à une application iOS/macOS à l’aide de l’authentification native Les étapes de ce didacticiel devraient fonctionner, que vous vous inscriviez avec un e-mail et un mot de passe ou un mot de passe à usage unique par e-mail.
Se connecter après l’inscription
Sign in after sign up
est une fonctionnalité d’amélioration des flux de connexion des utilisateurs qui a pour effet de connecter automatiquement les utilisateurs après l’inscription. Le kit de développement logiciel (SDK) permet aux développeurs de connecter un utilisateur après l’inscription, sans avoir à fournir le nom d’utilisateur ou à vérifier l’adresse e-mail via un code secret à usage unique.
Pour connecter un utilisateur après l’inscription réussie, utilisez la méthode signIn(delegate)
à partir du nouvel état SignInAfterSignUpState
retourné dans onSignUpCompleted(newState)
:
extension ViewController: SignUpVerifyCodeDelegate {
func onSignUpVerifyCodeError(error: MSAL.VerifyCodeError, newState: MSAL.SignUpCodeRequiredState?) {
resultTextView.text = "Error verifying code: \(error.errorDescription ?? "no description")"
}
func onSignUpCompleted(newState: SignInAfterSignUpState) {
resultTextView.text = "Signed up successfully!"
newState.signIn(delegate: self)
}
}
La méthode signIn(delegate)
accepte un paramètre délégué et nous devons implémenter les méthodes requises dans le protocole SignInAfterSignUpDelegate
.
Dans le scénario le plus courant, nous recevons un appel à onSignInCompleted(result)
indiquant que l’utilisateur s’est connecté. Le résultat peut être utilisé pour récupérer access token
.
extension ViewController: SignInAfterSignUpDelegate {
func onSignInAfterSignUpError(error: SignInAfterSignUpError) {
resultTextView.text = "Error signing in after sign up"
}
func onSignInCompleted(result: MSAL.MSALNativeAuthUserAccountResult) {
// User successfully signed in
result.getAccessToken(delegate: self)
}
}
La méthode getAccessToken(delegate)
accepte un paramètre délégué et nous devons implémenter les méthodes requises dans le protocole CredentialsDelegate
.
Dans le scénario le plus courant, nous recevons un appel à onAccessTokenRetrieveCompleted(result)
indiquant que l’utilisateur a obtenu un access token
.
extension ViewController: CredentialsDelegate {
func onAccessTokenRetrieveError(error: MSAL.RetrieveAccessTokenError) {
resultTextView.text = "Error retrieving access token"
}
func onAccessTokenRetrieveCompleted(result: MSALNativeAuthTokenResult) {
resultTextView.text = "Signed in. Access Token: \(result.accessToken)"
}
}
Configurer un fournisseur de revendications personnalisé
Si vous souhaitez ajouter des revendications à partir d’un système externe au jeton émis pour votre application, utilisez un fournisseur de revendications personnalisé. Un fournisseur de revendications personnalisé est constitué d’une extension d’authentification personnalisée qui appelle une API REST externe pour récupérer des revendications provenant de systèmes externes.
Suivez les étapes détaillées dans Configurer un fournisseur de revendications personnalisé pour ajouter des revendications à partir d’un système externe dans vos jetons de sécurité.