我正在使用Grails Spring Security Core插件,现在通过FacebookAuthenticationforSpring Security核心插件添加了Facebook认证。我可以通过Facebook进行身份验证,但它总是重定向回不正确的URL。我想重定向到
localhost:8080/rar/user/home
,但在登录后,我被重定向到
localhost:8080/rar/#_=_
。当通过标准登录表单登录时,我会被正确重定向到
本地主机:8080/rar/user/home
.
我的FB应用程序设置有
http://localhost:8080/rar/
用于站点URL。我正在使用这些插件:
compile ':spring-security-core:2.0-RC2'
compile ":spring-security-ui:1.0-RC1"
compile ":spring-security-facebook:0.15.2-CORE2"
并具有以下配置设置:
grails.plugin.springsecurity.successHandler.defaultTargetUrl = '/user/home'
grails.plugin.springsecurity.facebook.filter.type='redirect'
grails.plugin.springsecurity.facebook.domain.classname='mvp.FacebookUser'
grails.plugin.springsecurity.facebook.domain.appUserConnectionPropertyName='user'
grails.plugin.springsecurity.facebook.appId='<APPID>'
grails.plugin.springsecurity.facebook.secret='<SECRET>'
grails.plugin.springsecurity.facebook.filter.redirect.failureHandler='redirectFailureHandlerExample'
grails.plugin.springsecurity.facebook.autoCreate.roles=['ROLE_USER', 'ROLE_FACEBOOK']
我认为这对这个问题并不重要,但我有一个FacebookAuthService,它实现了create()来搜索与Facebook用户具有相同电子邮件地址的现有用户,如果找到了,则合并帐户。目前,我的redirectFailureHandlerExample只会记录一条从未命中的消息。
非常感谢任何帮助!