使用Grails OAuth插件需要在Config.groovy中提供绝对回调网址。但是,每个环境都有不同的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'
}
}
}
有什么想法吗?谢谢!
答案 0 :(得分:6)
试试这个:
def currentServerUrl = Environment.current.name == 'development' ? devServerUrl : prodServerUrl;
答案 1 :(得分:0)
我认为为每个环境设置不同的grails.serverURL
然后执行以下操作会更简洁:
callback = "${grails.serverURL}/oauth/runkeeper/callback"