Nous vous déconseillons d'utiliser directement les codes d'erreur HTTP lorsque vous utilisez nos bibliothèques. Nous fournissons les codes d'erreur ADAL que vous devez utiliser pour déterminer les prochaines étapes de votre application. Ils enveloppent à la fois les erreurs HTTP et les autres erreurs que la bibliothèque peut provoquer dans un objet NSError que vous pouvez utiliser.
Vous devriez vérifier le domaine d'erreur pour ADAuthenticationErrorDomain
et correspondre à un code d'erreur tel que AD_ERROR_USER_INPUT_NEEDED
Nous maintenons cette liste de codes d'erreur dans le fichier d'en-tête ADErrorCodes.h
du SDK ainsi que la description de la façon dont l'erreur peut se produire : https://github.com/AzureAD/azure-activedirectory-library-for-objc/blob/dev/ADAL/src/public/ADErrorCodes.h
Pour attraper ces erreurs dans votre code, utilisez le modèle suivant:
[authContext acquireTokenSilentWithResource:...
completionBlock:^(ADAuthenticationResult *result) {
if (!result.error) {
// normal program flow
} else {
if ([result.error.domain isEqual:ADAuthenticationErrorDomain] && result.error.code == AD_ERROR_USER_INPUT_NEEDED) {
// Handle user input needed error
}
else if ([result.error.domain isEqual:ADAuthenticationErrorDomain] && result.error.code == AD_ERROR_SERVER_WRONG_USER) {
// Handle user returned by the server
//does not match the the user identifier error
}
}];