ckWebAuthToken поиск через postMessage с использованием CloudKit Web Services - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь получить токен веб-аутентификации для CloudKit, используя их веб-сервисы и токен API postMessage.Согласно документации Apple , токен должен быть возвращен как часть объекта "data" через обратный вызов сообщения, но все, что я получаю, - это переменная ckSession.Кажется, что документация неправильная, или я что-то упустил.

Есть ли какой-либо дополнительный API, который должен быть вызван для получения токена веб-аутентификации после этого шага?Я пытался быть наивным и передавал ckSession для записи API списков, но, похоже, это не работает.Кроме того, если я использую другой метод получения токена, например, пользовательскую схему URL, токен будет получен правильно.Эта проблема, похоже, связана только с опцией postMessage.

«Разрешенные источники» установлены на «все домены», и я вызываю аутентификационный API с localhost.Я использую Windows 10 и использую браузер Chrome (если это что-то значит здесь, вероятно, нет).

Кажется, что у кого-то была такая же проблема пару лет назад, и она была размещена на Appleфорумы , но тогда у него не было большой любви.

Любая помощь будет принята с благодарностью.Кроме того, я могу предоставить больше информации, если это необходимо.

Ответы [ 2 ]

0 голосов
/ 16 августа 2019

Кроме того, мне никогда не удавалось перехватить ckWebAuthToken методом postMessage.Я подозреваю, что его можно использовать только с кнопкой входа в систему, сгенерированной setUpAuth в JS SDK.

Так что вместо этого я перенаправил на свою страницу, расположенную где-то, где я взял токен из строки запроса иотправил его в мое приложение хоста, все в JavaScript.Неуклюжий, но это сработало!:)

0 голосов
/ 25 августа 2018

Насколько я понимаю, вы можете получить токен веб-аутентификации (ckWebAuthToken) только через интерфейс API JavaScript.Он должен быть возвращен после того, как пользователь войдет в систему со своим Apple ID.Затем вы можете POST это значение для вашего фонового приложения и каким-то образом сохранить его (вероятно, как переменную сеанса).

Подробнее о получении токена веб-аутентификации можно прочитать на этой странице .

Если с тех пор вы узнали больше о решении этой проблемы и знаете больше, чем я, я весь в ушах.:)

...