Невозможно подключиться к серверу Realm Object Server с помощью NodeJs

Я установил Realm Object Server с помощью метода контейнера докеров на виртуальную машину на облачной платформе Google. Контейнер запущен, и я могу подключиться в браузере и увидеть страницу ROS. Я могу подключиться к нему с помощью Realm Studio и добавить пользователя.

У меня есть приложение nodeJS, работающее локально на Mac, и я пытаюсь использовать его для входа в систему и записи в область на сервере. Когда я запускаю приложение, я получаю сообщение об ошибке, и пользователь возвращает пустой объект. Не уверен, что делаю не так. Я новичок в NodeJS.

Код:

        var theRealm;
    const serverUrl = "http://xx.xx.xx.xx:9080";
    const username = "xxxx";
    const password = "xxxx";

    var token = "long-token-for-enterprise-trial";
    Realm.Sync.setFeatureToken(token);

    console.log("Will log in user");
    Realm.Sync.User.login(serverUrl, username, password)
        .then(user => {
                                                           ``
        // user is logged in
        console.log("user is logged in " + util.inspect(user));
            // do stuff ...
            console.log("Will create config");
            const config = {
                schema:[
                    schema.interventionSchema,
                    schema.reportSchema
                ],
                sync: {
                    user: user,
                    url: serverUrl
                }
            };
            console.log("Will open realm with config: " + config);
            const realm = Realm.open(config)
                .then(realm => {
                    // use the realm instance here
                    console.log("Realm is active " + realm);
                    console.log("Will create Realm");
                    theRealm = new Realm({
                        path:'model/realm_db/theRealm.realm',
                        schema:[
                            schema.interventionSchema,
                            schema.reportSchema
                        ]
                    });
                    console.log("Did create Realm: " + theRealm);
                })
                .catch(error => {
                    // Handle the error here if something went wrong
                    console.log("Error when opening Realm: " + error);
                });
            })
        .catch(error => {
            // an auth error has occurred
            console.log("Error when logging in user: " + error);
        });

Выход:

Will log in user
Server is running...
user is logged in {}
Will create config
Will open realm with config: [object Object]
TypeError: Cannot read property 'token_data' of undefined
    at performFetch.then.then (/pathToProject/node_modules/realm/lib/user-methods.js:203:49)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
TypeError: Cannot read property 'token_data' of undefined
    at performFetch.then.then (/pathToProject/node_modules/realm/lib/user-methods.js:203:49)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)

Ошибка @ user-methods.js: 203: 49

const tokenData = json.access_token.token_data;

json: {user_token: {token: 'xxxxxxxx', token_data: {app_id: 'io.realm.Auth', identity: 'xxxxxxx', salt: 'xxxxxxxx', срок действия: 1522930743, is_admin: false}}};

Итак, json.access_token.token_data не определен, но json. user_token.token_data не будет.


person Christian Fox    schedule 23.03.2018    source источник
comment
Какая у вас версия ROS?   -  person EpicPandaForce    schedule 05.04.2018
comment
Самый последний, который я ожидаю, я запускаю в контейнере докера в соответствии с инструкциями, найденными здесь: realm.io/docs/get-started/enterprise-installation/   -  person Christian Fox    schedule 05.04.2018
comment
Мне нужно узнать точный номер версии? Я не знаю, как найти его в этом контейнере.   -  person Christian Fox    schedule 05.04.2018
comment
Что ж, важно знать, это ROS 2.x или ROS 3.x   -  person EpicPandaForce    schedule 05.04.2018
comment
Справедливо. Я не уверен, что это короткий ответ. В моей локальной системе установлена ​​версия 3.0.0, но в документации, которую я использовал для установки с помощью докера, не указано, какая версия ROS установлена, и я не знаю, как это узнать.   -  person Christian Fox    schedule 05.04.2018
comment
Нашел в логах Realm Studio. 2.8.0   -  person Christian Fox    schedule 05.04.2018
comment
Попробуйте код, указанный в realm.io/docs/get-started/installation/ версия для разработчиков   -  person Tarun Lalwani    schedule 06.04.2018
comment
@KristianFox, есть обновления? у вас была возможность попробовать код по данной ссылке?   -  person Tarun Lalwani    schedule 12.04.2018
comment
Да, это была версия для разработчиков, которую я сделал в первую очередь, я раньше использовал неправильную ссылку. Я понял это поздно ночью, оказалось, что это проблема с IDE, а не с областью или чем-то еще. В любом случае спасибо за усилия.   -  person Christian Fox    schedule 12.04.2018
comment
У меня такая же проблема с платформой Realm (я предполагаю, что на ней установлена ​​последняя версия ROS).   -  person Eskel    schedule 17.08.2018


Ответы (1)


Я предлагаю вам попробовать соединение ROS с realm studio, так как вы также можете проверять журналы, которые помогут вам исправить ошибку. Если вы все еще не можете исправить это, вы можете связаться со службой поддержки Realm, даже если они помогли мне решить проблему с подключением ROS в Xamarin Forms с помощью Docker.

person Judson Abraham    schedule 12.04.2018