Javascript Meteor帐户facebook没有使用https重定向uri的选项

Javascript Meteor帐户facebook没有使用https重定向uri的选项,javascript,node.js,meteor,oauth,Javascript,Node.js,Meteor,Oauth,我正在使用meteor,并希望按照Facebook的要求将其与SSL一起使用,但是重定向uri作为http://传递,即使应用程序在https://上运行。在中创建loginUrl的代码如下: var loginUrl = 'https://www.facebook.com/v2.9/dialog/oauth?client_id=' + config.appId + '&redirect_uri=' + OAuth._redirectUri('facebo

我正在使用meteor,并希望按照Facebook的要求将其与SSL一起使用,但是
重定向uri
作为
http://
传递,即使应用程序在
https://
上运行。在中创建
loginUrl
的代码如下:

var loginUrl =
        'https://www.facebook.com/v2.9/dialog/oauth?client_id=' + config.appId +
        '&redirect_uri=' + OAuth._redirectUri('facebook', config) +
        '&display=' + display + '&scope=' + scope +
        '&state=' + OAuth._stateParam(loginStyle, credentialToken, options && options.redirectUrl);
这再次呼吁:

如果
Meteor.absoluteUrl.defaultOptions.secure
为true,则在读取SSL之前首先删除其中的内容:

  // merge options with defaults
  options = Object.assign({}, Meteor.absoluteUrl.defaultOptions, options || {});
  ...
  if (!/^http[s]?:\/\//i.test(url)) // url starts with 'http://' or 'https://'
    url = 'http://' + url; // we will later fix to https if options.secure is set
  ...
  // turn http to https if secure option is set, and we're not talking
  // to localhost.
  if (options.secure &&
      /^http:/.test(url) && // url starts with 'http:'
      !/http:\/\/localhost[:\/]/.test(url) && // doesn't match localhost
      !/http:\/\/127\.0\.0\.1[:\/]/.test(url)) // or 127.0.0.1
    url = url.replace(/^http:/, 'https:');
我看不出有什么办法:

  • 如何告诉帐户facebook使用正确的协议,因为没有
    absoluteUrlOptions
    参数传递给
    OAuth.\u redirectUri
  • 如何设置Meteor.absoluteUrl.defaultOptions.secure
  • 任何其他选择

  • 我唯一的解决方法是安装
    meteor add force ssl
    ,这样整个应用程序都在https上强制运行。

    A解决方法是安装force ssl,这样整个应用程序都在https上运行

    meteor add force-ssl 
    
    更新:显然,您也可以在应用程序早期的正确位置设置
    Meteor.absoluteUrl.defaultOptions.secure=true
    ,例如
    client/lib/…

    meteor add force-ssl