开发/生产的不同oauth回调URL?

时间:2013-11-23 02:24:19

标签: meteor

我想知道是否可以为GitHub / OAuth开发和生产单独的配置。我假设这是烘焙它,但我找不到它。

我有一个看起来像这样的自定义配置:

Accounts.loginServiceConfiguration.insert({
  service:    "github",
  clientId:   "19c25aeb2a609872672d",
  secret:     "07136530fa20c3722caf6c2decc3776ca8729cf2"
});

它在本地工作就像一个梦,因为键被设置为与localhost一起使用。我尝试为生产指定另一个(在代码库中没有开发和生产之间的区别,只是另一个.insert()),如下所示:

Accounts.loginServiceConfiguration.insert({
  service:    "github",
  clientId:   "19c25aeb2a609872672d",
  secret:     "07136530fa20c3722caf6c2decc3776ca8729cf2"
});

Accounts.loginServiceConfiguration.insert({
  service:    "github",
  clientId:   "9f9e82b7ab0a1e1f3ec1",
  secret:     "12c1ab66f2c5d37c8c55390d09725c400e1bca84"
});

当我部署到生产环境时,它看起来像第一个配置(localhost)。

1 个答案:

答案 0 :(得分:1)

在服务器启动时(是的,这将是服务器代码),清除所有 Accounts.loginServiceConfiguration条目。然后根据用途重新插入:

Meteor.startup(function(){
    Accounts.loginServiceConfiguration.find({}).remove();
    if (process.env.NODE_ENV === "development") {
        // Insert all login configs for development
    } else {
        // Insert all login configs for production
    }
}