2

使用 Grails OAuth 插件需要在 Config.groovy 中提供绝对回调 URL。但是,对于每个环境,我都有不同的 serverURL。

有没有办法从 Config.groovy 中获取当前环境,这是我想要做的一个例子:

def devServerUrl = 'http://dev.example.com'
def prodServerUrl = 'http://prod.example.com'
def currentServerUrl = grailsApplication.metadata.environment == 'development' ? devServerUrl : prodServerUrl;

environments {
    development {
        grails {
            serverURL = devServerUrl
        }
    }
    production {
        grails {
            serverURL = prodServerUrl
        }
    }
}

oauth {
    providers {
        runkeeper {
            api = RunKeeperApi
            key = 'key'
            secret = 'secret'
            callback = currentServerUrl + '/oauth/runkeeper/callback'
        }
    }
}

有任何想法吗?谢谢!

4

2 回答 2

6

试试这个:

def currentServerUrl = Environment.current.name == 'development' ? devServerUrl : prodServerUrl;
于 2013-08-15T19:03:57.343 回答
0

我认为grails.serverURL为每个环境设置不同然后执行以下操作会更干净:

callback = "${grails.serverURL}/oauth/runkeeper/callback"
于 2013-12-11T20:53:46.137 回答