Можем ли мы создать токен API для Cloudkit JS, чтобы получить доступ к общим данным без аутентификации
Я создал пользователя iCloud webuser@somedomain.com, а затем поделился конкретными записями с этим пользователем.
Я хочу, чтобы веб-сайт использовал этого пользователя для доступа только к тем общим записям, к которым у него есть доступ, но без проверки его подлинности через iCloud с Apple. Причина в том, что я хочу контролировать, что может делать веб-сайт и что он может получить, не прося пользователя войти / зарегистрироваться с помощью Apple iCloud, и я не хочу, чтобы каждый пользователь, посещающий веб-сайт, должен был входить в Apple ID, Я думал, что это возможно при использовании cloudkit js с использованием веб-сервисов, но кажется, что ключ от сервера к серверу получает доступ только к публичной базе данных.
Я не слишком хорошо владею JS и пытаюсь заставить веб-разработчика получить доступ к моим записям.
Тема не кажется очень популярной, и там не так много информации. Пожалуйста, не говорите "НЕТ, ЭТО НЕ ВОЗМОЖНО". Дайте мне немного информации.
1 ответ
Вы правы в том, что получение данных CloudKit через ключ от сервера к серверу или токен JS API может дать вам доступ только к общедоступной базе данных. Аутентификация пользователя необходима для получения чего-либо в частной или общей базе данных.
Это разумно, потому что ваше приложение не будет знать, какую частную базу данных следует запросить, если в качестве справочной информации у него нет пользователя CloudKit. Также было бы менее безопасно, если бы анонимный пользователь (даже если это ваше приложение) мог запрашивать личные данные пользователя.
В качестве обходного пути вы можете заставить приложение iOS/macOS помещать определенные части данных пользователей, которые вы хотите, чтобы они были доступны в Интернете, в вашу публичную базу данных. Вы можете сделать тип записи в вашей общедоступной базе данных чего-то вроде Web
и создайте поля для всех данных, которые вам нужны. Эти общие данные будут доступны, но все будет доступно любому. Пользователю все равно придется идентифицировать себя в вашем веб-приложении, чтобы получить определенные данные (что можно сделать, если у вас есть userId
поле в вашем Web
тип записи).
Надеюсь, это имеет смысл. Дайте мне знать, если у вас есть дополнительные вопросы.