Meteor 帐户凭据分配
Meteor Account Credential Assignment
我有一个 Meteor 应用程序,它与用于用户登录的 Facebook 应用程序配合使用。在实际托管版本中,登录使用实际的 Facebook 应用程序,但在开发中的本地主机中,该应用程序使用 Facebook 测试应用程序。
问题是,当我从开发切换到部署时,我需要注释掉生产凭证并取消注释开发凭证。我该如何解决这个问题?
// Removes the config b/c dupliation error and re-defines it
// Facebook API config
// Since Facebook Test app has been created, wrap this in conditional that only executes if on Amazon server and not localhost
// STRICTLY - Production
// ServiceConfiguration.configurations.remove({
// service: "facebook"
// });
// ServiceConfiguration.configurations.insert({
// service: 'facebook',
// appId: Meteor.settings.FacebookId,
// secret: Meteor.settings.FacebookSecret
// });
// STRICTLY - Dev
ServiceConfiguration.configurations.remove({
service: "facebook"
});
ServiceConfiguration.configurations.insert({
service: 'facebook',
appId: 'id',
secret: 'secret'
});
您应该将 dev 和 prod 变量添加到您的 settings.json
文件,并使用 [=12= 在本地加载它们]. settings.json 文件看起来像这样:
{
"dev": {
"public": {
"facebook": {
"appId": "abc123"
}
},
"private": {
"facebook": {
"secret": "456def789"
}
}
},
"prod": {
"public": {
"facebook": {
"appId": "def234"
}
},
"private": {
"facebook": {
"secret": "789ghi101112"
}
}
}
然后您可以像以前一样访问它们:Meteor.settings.dev.public.facebook.appId
。
public/private 对您的项目来说可能有点矫枉过正(我可能弄乱了括号),但这应该传达了一般概念。有关更多信息,请查看这个经常被引用的 post.
我有一个 Meteor 应用程序,它与用于用户登录的 Facebook 应用程序配合使用。在实际托管版本中,登录使用实际的 Facebook 应用程序,但在开发中的本地主机中,该应用程序使用 Facebook 测试应用程序。
问题是,当我从开发切换到部署时,我需要注释掉生产凭证并取消注释开发凭证。我该如何解决这个问题?
// Removes the config b/c dupliation error and re-defines it
// Facebook API config
// Since Facebook Test app has been created, wrap this in conditional that only executes if on Amazon server and not localhost
// STRICTLY - Production
// ServiceConfiguration.configurations.remove({
// service: "facebook"
// });
// ServiceConfiguration.configurations.insert({
// service: 'facebook',
// appId: Meteor.settings.FacebookId,
// secret: Meteor.settings.FacebookSecret
// });
// STRICTLY - Dev
ServiceConfiguration.configurations.remove({
service: "facebook"
});
ServiceConfiguration.configurations.insert({
service: 'facebook',
appId: 'id',
secret: 'secret'
});
您应该将 dev 和 prod 变量添加到您的 settings.json
文件,并使用 [=12= 在本地加载它们]. settings.json 文件看起来像这样:
{
"dev": {
"public": {
"facebook": {
"appId": "abc123"
}
},
"private": {
"facebook": {
"secret": "456def789"
}
}
},
"prod": {
"public": {
"facebook": {
"appId": "def234"
}
},
"private": {
"facebook": {
"secret": "789ghi101112"
}
}
}
然后您可以像以前一样访问它们:Meteor.settings.dev.public.facebook.appId
。
public/private 对您的项目来说可能有点矫枉过正(我可能弄乱了括号),但这应该传达了一般概念。有关更多信息,请查看这个经常被引用的 post.