ライブラリを使用しているときにHTTPエラーコードを直接使用することはお勧めできません。アプリケーションの次のステップを決定するために使用する必要があるADALエラーコードを提供します。これらは、HTTPエラーと、ライブラリが使用できる1つのNSErrorオブジェクトにスローされる可能性があるその他のエラーをラップします。
あなたはADAuthenticationErrorDomain
のエラードメインをチェックして、私たちは、エラーが発生する可能性があります方法の説明と一緒にSDKのADErrorCodes.h
ヘッダファイルでこのエラーコードのリストを維持するようにAD_ERROR_USER_INPUT_NEEDED
としてエラーコードに一致している必要があります:https://github.com/AzureAD/azure-activedirectory-library-for-objc/blob/dev/ADAL/src/public/ADErrorCodes.h
は、あなたのコードでこれらのエラーをキャッチするには、次のパターンを使用します。
[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
}
}];
を