У меня есть приложение meteor, которое я хочу только на мобильных платформах (iPhone и Android), так что, когда вы вводите адрес сервера, вы не можете использовать приложение и , точнее, вызовите методы, используя консоль javascript. Но серверная часть все еще должна быть функциональной.Отключить платформу браузера/войти на платформу браузера
я понял, когда вы набираете URL сервера, я бы просто отобразить домашнюю страницу, чтобы представить приложение вместо самого приложения, так что я возился с железом маршрутизатор:
Router.configure({
layoutTemplate: 'layout',
loadingTemplate: 'loading',
notFoundTemplate: 'notFound'
});
if (Meteor.isServer || Meteor.isCordova) {
// mobile app routes and behaviors
}
В шаблоне макета, я только выход, если клиент Кордова:
<template name="layout">
<div class="page-container">
{{#if isCordova}}
{{> header}}
{{> flashMessages}}
<div id="main" class="container">
{{> yield}}
</div>
{{else}}
<!-- Static presentation -->
{{/if}}
</div>
</template>
isCordova
простой помощник UI возвращения Meteor.isCordova
.
Теперь страница выглядит красиво и сладко, но нижестоящая выглядит так: Meteor.loginWithPassword
все еще можно вызвать в консоли, а оттуда зарегистрированный пользователь может в основном делать все, что он или она может сделать из мобильного приложения, позвонив на сервер методы. Мои методы сервера проверяют, зарегистрирован ли пользователь, но не могут понять, с какой платформы ... насколько я знаю.
Есть ли способ отключить это? Мое приложение сильно зависит от геолокации пользователей, и я не хочу, чтобы им было слишком легко подделать их позицию. (Я знаю, что притворяется положение также может быть достигнуто на мобильных телефонах, но я должен признать, вещи, если я когда-нибудь хочу, чтобы закончить эту ... вещь)
Открытие консоли - это не то, что вы ожидаете от среднего пользователя. Помните, что независимо от того, что вы делаете, всегда будет возможность злоупотреблять вашим API-интерфейсом сервера. Это просто вопрос, как это будет тяжело. –
Вот почему я предполагаю, что слишком просто/неудобно установить дополнение Firefox, например Geolocater, чем начать укоренение вашего телефона. Такие же приложения, как Snapchat или Tinder, не имеют приложения для браузера. Смартфоны - это более управляемая среда, чем ПК. – SylvainB