ASWebAuthenticationSession callbackURL возвращает пустой ответ ключа доступа ({}) в iOS 16IOS

Программируем под IOS
Ответить
Anonymous
 ASWebAuthenticationSession callbackURL возвращает пустой ответ ключа доступа ({}) в iOS 16

Сообщение Anonymous »

Мы реализовали ключи доступа в нашем приложении для iOS с помощью ASWebAuthenticationSession.
Приложение вызывает API серверного запроса, кодирует запрос в Base64 и создает URL-адрес аутентификации следующим образом:
/>(domain)/pass-key/challenge?challenge=(base64Challenge)&redirect_uri=myapp://callback
Затем мы запускаем ASWebAuthenticationSession с этим URL-адресом. Когда Интернет завершает поток пароля, он перенаправляется на нашу схему приложения с ответом навигатора ключей доступа следующим образом:
myapp://callback?code=(base64)
Это отлично работает на следующих устройствах, и мы получаем правильный код:
iPhone 11 (iOS 18.5),
iPhone 12/13 Pro Max (iOS 26)
Но происходит сбой:
iPhone X (iOS 16.7) → мы получаем это:
myapp://callback?code=e30%3D
e30%3D, который после удаления процентного кодирования и декодирования base64 преобразуется в {} (пустой объект JSON).
Даже когда мы вручную открываем тот же URL-адрес в Safari на iOS 16.7, завершите процедуру ввода пароля и позвольте ему перенаправиться в наше приложение, мы все равно получим myapp://callback?code=e30%3D.
Дополнительные сведения:
  • Я проверил это на двух разных устройствах iPhone X, оба вошли в систему с помощью iCloud.
  • Мы невозможно использовать ASAuthorizationController, поскольку наше приложение поддерживает сторонние домены для ключей доступа, которые не могут быть добавлены в связанные домены.
Вопросы:
  • В чем может быть потенциальная проблема и как ее решить?
  • С какой минимальной версией iOS будет моя текущая работа по реализации?


Подробнее здесь: https://stackoverflow.com/questions/797 ... onse-on-io
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»