Grails2.3中oauth提供者配置的多个域
使用Grails2.3.8和Grails2.3中oauth提供者配置的多个域,grails,multiple-domains,spring-security-oauth2,Grails,Multiple Domains,Spring Security Oauth2,使用Grails2.3.8和 plugins { compile ':spring-security-core:2.0-RC2' compile ':spring-security-oauth:2.0.2' compile ':spring-security-oauth-facebook:0.1' compile ':spring-security-oauth-google:0.1' } 和默认提供程序设置: oauth{ providers{ facebook{ ap
plugins {
compile ':spring-security-core:2.0-RC2'
compile ':spring-security-oauth:2.0.2'
compile ':spring-security-oauth-facebook:0.1'
compile ':spring-security-oauth-google:0.1'
}
和默认提供程序设置:
oauth{
providers{
facebook{
api = org.scribe.builder.api.FacebookApi
key = '11111'
secret = '222222'
successUri = "http://localhost:8880/oauth/facebook/success"
failureUri = "http://localhost:8880/oauth/facebook/error"
callback = "http://localhost:8880/oauth/facebook/callback"
scope = 'email'
}
}
据我所知,我必须使用绝对URL进行回调。这是一个问题,因为我的应用程序映射到几个域,比如myapp.com、myapp.de、myapp.ru等
是否可以开箱即用地为每个域提供回调URL
TIA所以,我明白了
该解决方案有点丑陋,但效果很好:
在我的配置中,我必须更改提供程序,以便服务器名称反映在提供程序名称和回调URL中:
oauth{
providers{
facebook{
api = org.scribe.builder.api.FacebookApi
key = '11111'
secret = '22222222'
scope = 'email'
}
'facebook_localhost'{
api = org.scribe.builder.api.FacebookApi
key = '111111'
secret = '222222222'
successUri = "http://localhost:8880/oauth/facebook_localhost/success"
failureUri = "http://localhost:8880/oauth/facebook_localhost/error"
callback = "http://localhost:8880/oauth/facebook_localhost/callback"
scope = 'email'
}
'facebook_wwwmysitenet'{
api = org.scribe.builder.api.FacebookApi
key = '9999999'
secret = '888888888888'
successUri = "http://www.mesite.net/oauth/facebook_wwwmesitenet/success"
failureUri = "http://www.mesite.net/oauth/facebook_wwwmesitenet/error"
callback = "http://www.mesite.net/oauth/facebook_wwwmesitenet/callback"
scope = 'email'
}
}
}
为了简化处理,我从服务器名称中删除了点
和我为谷歌做的一样 如何管理应用程序中的多个域?它们在apache配置文件中定义。您能够读取配置文件中的服务器url吗?在配置文件中-当然不能!