Можем ли мы создать токен API для Cloudkit JS, чтобы получить доступ к общим данным без аутентификации - PullRequest
0 голосов
/ 06 сентября 2018

Я создал пользователя iCloud webuser@somedomain.com, а затем поделился конкретными записями с этим пользователем.

Я хочу, чтобы веб-сайт использовал этого пользователя для доступа только к тем общим записям, к которым он может получить доступ, но без проверки его подлинности через iCloud с Apple. Причина в том, что я хочу контролировать, что может делать веб-сайт и что он может получить, не прося пользователя войти / зарегистрироваться с помощью Apple iCloud, и я не хочу, чтобы каждый пользователь, посещающий веб-сайт, должен был входить в Apple ID , Я думал, что это возможно при использовании cloudkit js с использованием веб-сервисов, но кажется, что ключ от сервера к серверу получает доступ только к публичной базе данных.

Я не слишком свободно владею JS и пытаюсь заставить веб-разработчика получить доступ к моим записям.

Субъект, кажется, не очень популярен, и там не так много информации. Пожалуйста, не говорите «НЕТ, ЭТО НЕ ВОЗМОЖНО». Дайте мне немного информации.

1 Ответ

0 голосов
/ 08 сентября 2018

Вы правы, что получение данных CloudKit через ключ сервер-сервер или токен JS API может дать вам доступ только к базе данных public . Аутентификация пользователя требуется для получения чего-либо в частной или общей базе данных.

Это разумно, потому что ваше приложение не будет знать, какую частную базу данных следует запросить, если в качестве справочной информации у него нет пользователя CloudKit. Также было бы менее безопасно, если бы анонимный пользователь (даже если это ваше приложение) мог запрашивать личные данные пользователя.

В качестве обходного пути вы могли бы заставить приложение iOS / macOS помещать определенные части данных пользователей, которые вы хотите получить в Интернете, в вашу общедоступную базу данных. Вы можете создать тип записи в вашей общедоступной базе данных, например, Web и создать поля для всех необходимых вам данных. Эти общие данные будут доступны, но все будет доступно любому. Пользователю все равно придется идентифицировать себя в вашем веб-приложении, чтобы получить определенные данные (что можно сделать, если у вас есть поле userId в типе записи Web).

Надеюсь, это имеет смысл. Дайте мне знать, если у вас есть дополнительные вопросы.

...