Cordova: Is it possible to force Meteor to use HTTPS for meteor.local?

I want to use the native WebRTC features implemented in modern versions of Android. Problem is that Meteor uses the protocol http://meteor.local to access the app locally. Because this is not https, the WebRTC calls fail.

Is it possible somehow to force Meteor to use https://meteor.local instead, with a self-signed certificate or such?

No, I’m afraid that is not possible. But in Meteor 1.3, we’ve switched to localhost:<port> for local access, which is considered a secure origin and should enable features like WebRTC.

Hi Martijn, thanks for your very fast reply! Do you have an idea when Meteor 1.3 will be finally out? I definitely need it as soon as possible, but can’t use a beta version. :slightly_smiling:

No promises, but hopefully at the end of this month!

Wow, this would be awesome! Thanks!

Another quick question: Is there any way to set Android’s permissions using the mobile-config.js file?

No, but as far as i know there is no way to do that from within standard Cordova’s config.xml either. The philosophy seems to be that plugins will be used to add features that require permissions.

The easiest way is probably to add <uses-permission> tags in a dummy plugin’s plugin.xml:

<platform name="android">
    <config-file target="AndroidManifest.xml" parent="/manifest">
        <uses-permission android:name="android.permission.INTERNET"/>
    </config-file>
</platform>

See this StackOverflow question.

1 Like

Thanks, this is the way I am doing it now, and it works!