Javascript Meteor帐户facebook没有使用https重定向uri的选项
我正在使用meteor,并希望按照Facebook的要求将其与SSL一起使用,但是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
重定向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:');
我看不出有什么办法:
absoluteUrlOptions
参数传递给OAuth.\u redirectUri
我唯一的解决方法是安装
meteor add force ssl
,这样整个应用程序都在https上强制运行。A解决方法是安装force ssl,这样整个应用程序都在https上运行
meteor add force-ssl
更新:显然,您也可以在应用程序早期的正确位置设置Meteor.absoluteUrl.defaultOptions.secure=true
,例如client/lib/…
meteor add force-ssl