Ошибка автоматического входа в систему ADAL iOS

#ios #authentication #oauth #adal

#iOS #аутентификация #oauth #adal

Вопрос:

Я использую приведенный ниже метод библиотеки ADAL iOS для автоматического получения токена доступа.

acquireTokenSilentWithResource: обработчик завершения:

Но он завершается ошибкой:

ОШИБКА: возникло сообщение об ошибке: 10. Дополнительная информация: Домен: ADAuthenticationErrorDomain ProtocolCode: (null) Подробности: учетные данные пользователя необходимы для получения токена доступа. Пожалуйста, вызовите методы acquireTokenWithResource, не работающие в режиме молчания.. Код ошибки: 10.

Любая помощь приветствуется.Протестировано в обеих версиях ADAL iOS 1.2.1 и 1.2.9.

Комментарии:

1. Можете ли вы предоставить более подробную информацию о вашем сценарии? Прошел ли пользователь уже один раз аутентификацию ранее (чтобы acquire...Silent он мог использовать токен обновления для получения нового токена доступа в автоматическом режиме)?

2. да, в моем случае пользователь уже прошел проверку подлинности вручную, используя имя пользователя и пароль. Но через каждый 1 час токен доступа истекает. Итак, я вызываю приведенный выше метод acquireTokenSilent …, чтобы получить новый токен доступа.

3. Можете ли вы поделиться кодом, который вы используете для: «вручную используя имя пользователя и пароль»?

4. @Shyam ты решил это? у меня такая же проблема

Ответ №1:

Чтобы этот метод был успешным, сначала должно быть успешное получение токена. При первом использовании: acquireTokenWithResource пользователю будет предоставлен пользовательский интерфейс для учетных данных. ADAL будет кэшировать токены. Затем последующий вызов acquireTokenSilentWithResource будет выполнен успешно (при условии, что ресурс и т. Д. Одинаковы).

Комментарии:

1. Да, здесь делается то же самое .. но все же в большинстве случаев библиотека выдает указанную выше ошибку, только несколько раз метод acquireTokenSilentWithResource вернется успешно.