Node.js 使用Grunt的护照验证策略

Node.js 使用Grunt的护照验证策略,node.js,express,gruntjs,passport.js,Node.js,Express,Gruntjs,Passport.js,问题涉及建立开发环境(稍后是其他环境,如生产环境) 使用Node、Passport和Grunt的最新版本,但Express仍在3链中 处理仅利用外部身份验证的应用程序(即,无本地Passport策略)。每个策略(如Google、Facebook等)的oauth客户端id、密钥和回调配置(显然)都不在Git中 想知道人们如何在不同的环境中解决这个问题吗?刚刚被Grunt弄湿了脚,所以我现在正在注册一个任务(在读取我的package.json的initConfig之后),该任务读取身份验证配置(pa

问题涉及建立开发环境(稍后是其他环境,如生产环境)

使用Node、Passport和Grunt的最新版本,但Express仍在3链中

处理仅利用外部身份验证的应用程序(即,无本地Passport策略)。每个策略(如Google、Facebook等)的oauth客户端id、密钥和回调配置(显然)都不在Git中

想知道人们如何在不同的环境中解决这个问题吗?刚刚被Grunt弄湿了脚,所以我现在正在注册一个任务(在读取我的package.json的initConfig之后),该任务读取身份验证配置(package.json中的身份验证属性除外):

基本上,开发人员/安装人员负责拥有私有(不由Git管理)本地身份验证设置。比如:

{
  'googleAuth' : {
    'clientID'  : 'your-secret-clientID-here',
    'clientSecret'  : 'your-client-secret-here',
    'callbackURL'   : 'http://localhost:8080/auth/google/callback'
  }
}
将JSON内容简单复制到应用程序所需的构建目录中的auth.js文件中即可


更好的方法?

为什么你要在grunt中而不是在node应用程序本身中这样做?@Matt,客户端id和秘密内容不适合公开推送到Git中(即像实际的node应用程序本身一样)。在Git管理的代码中提供一个“模板”,开发人员/安装人员必须复制和编辑该模板,然后由Grunt重新复制(现在使用标准Grunt副本,而不是我的自定义任务)。更多的是配置管理问题。您是否使用.gitignore从repo中省略配置文件?
{
  'googleAuth' : {
    'clientID'  : 'your-secret-clientID-here',
    'clientSecret'  : 'your-client-secret-here',
    'callbackURL'   : 'http://localhost:8080/auth/google/callback'
  }
}