#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 вернется успешно.