RealmSwift 2.8.3, сервер объектов Realm 1.8.1, Xcode 8, Swift 3.1
Я могу получить почти все с помощью Realm Object Server (ROS) для работы с аутентификацией iCloud, но у меня возникает проблема, когда у меня есть аутентификация нового пользователя, у которого еще нет учетной записи в моем экземпляре ROS.
Я успешно могу получить их токен iCloud, но user
это nil
, когда я делаю это:
let credentials = SyncCredentials.cloudKit(token: token)
SyncUser.logIn(with: credentials, server: serverURL) { user, error in
DispatchQueue.main.async{
if user == nil {
//--- Error ---
//This is where I end up. I can see the token in the log but no user object
}else{
//--- Success ---
}
}
}
Когда я проверяю журнал ошибок в своей ROS (работающей на Ubuntu), я получаю эту внутреннюю ошибку сервера (500):
2017-07-12T00:39:39.170Z - warn: auth.cloudkit: Handle request failed with: Error: Request failed with code AUTHENTICATION_FAILED: Authentication failed.
2017-07-12T00:39:39.174Z - warn: [services] internal error: Error: Request failed with code AUTHENTICATION_FAILED: Authentication failed.
at request.catch.err (/usr/lib/nodejs/realm-object-server-developer/.build/src/node/managers/auth/provider/cloudkit.js:131:23)
at process._tickCallback (internal/process/next_tick.js:109:7).
Теперь, чтобы убедиться, я предполагаю, что SyncCredentials.cloudKit(token: token)
создает пользователя, если этот токен не найден на моем сервере, и возвращает новый объект пользователя. Я не вижу в документации ничего о создании нового пользователя и аутентификации существующего.
ОБНОВЛЕНИЕ
Я дважды проверил все свои подключения к iCloud, убедился, что мой key_id
, найденный в моем configuration.yml
файле, правильный и что мой ключ соответствует тому, что у меня есть в моем контейнере iCloud.
Теперь у меня другая ошибка. :)
2017-07-12T01:12:54.801Z - warn: auth.cloudkit: Handle request failed with: TypeError: Cannot read property 'reason' of undefined
2017-07-12T01:12:54.809Z - warn: [services] internal error: TypeError: Cannot read property 'reason' of undefined
at signedRequest.then.catch.err (/usr/lib/nodejs/realm-object-server-developer/.build/src/node/managers/auth/provider/cloudkit.js:86:11)
at process._tickCallback (internal/process/next_tick.js:109:7).
internal error
s на сервере объектов Realm, я предлагаю вам отправить отчет об ошибке вместе с подробными инструкциями для воспроизведения здесь: github.com/realm/realm-mobile-platform/issues/new - person jpsim   schedule 16.07.2017