2013-03-17 1 views
0

Я пытаюсь использовать плагин Grails Facebook Authentication.Grails Facebook Плагин аутентификации не открыт FB auth page

Моя цель - использовать аутентификацию на стороне сервера, которая является стандартной по умолчанию.

Согласно документации

Это предпочтительным и стандартный Вход для сервера на стороне приложения. После нажатия кнопки «connect» пользователь перенаправляется на специальную страницу Facebook, для аутентификации, а затем перенаправляется обратно в ваше приложение.

я ожидал, чтобы получить специальную страницу FB, но это перенаправление прямо /j_spring_security_facebook_redirect вместо этого. Нет страницы FB.

Я не вошли в FB

Мой конфигурации, как:

grails.plugins.springsecurity.facebook.domain.classname='br.com.fisgo.security.Credential' 
grails.plugins.springsecurity.facebook.domain.relation = 'SameObject' 

grails.plugins.springsecurity.facebook.secret = 'xxxx' 
grails.plugins.springsecurity.facebook.appId = 'xxxxxx' 

grails.plugins.springsecurity.facebook.filter.redirect.processUrl='/sign/facebookLogin' 
grails.plugins.springsecurity.facebook.filter.type='redirect' 

grails.plugins.springsecurity.facebook.taglib.button.text='Login com facebook' 

Я не могу найти проблему.

Я получаю ошибку на редирект:

| Error 2013-03-18 09:35:50,307 [http-bio-80-exec-1] ERROR [/].[default] - 
Servlet.service() for servlet [default] in context with path [] threw exception 
Message: Cannot create a session after the response has been committed Line | Method 
->> 1110 | runWorker in java.util.concurrent.ThreadPoolExecutor - - - - - - - - - - - 
- - - - - - - - - - - - - - - - - - - - - - - - - | 603 | run in 
java.util.concurrent.ThreadPoolExecutor$Worker^722 | run . . . in java.lang.Threa 

Я также нашел

ERROR facebook.DefaultFacebookAuthDao - Can't find authority join class (br.com.fisgo.security.CredentialRole). Please configure 'grails.plugins.springsecurity.userLookup.authorityJoinClassName' value, or create your own 'List<GrantedAuthority> facebookAuthService.getRoles(user)' 

Класс доступен

+0

Что происходит после '/ j_spring_security_facebook_redirect'? –

+0

Пожалуйста, добавьте его на свой вопрос –

ответ

1

я получал один и тот же Cannot create a session after the response has been committed ошибку.

Проблема заключалась в том, что весенняя безопасность не позволяла анонимному доступу до j_spring_security_facebook_redirect. Не знаю, как вы настроили плагин Grails весна безопасности, но в нашем случае это помогло:

grails.plugins.springsecurity.interceptUrlMap = [ 
.... 
'/j_spring_security_facebook_redirect': ['IS_AUTHENTICATED_ANONYMOUSLY'], 
.... 
] 

Чтобы найти причину проблемы попробуйте закомментировать строку 59 response.sendRedirect(facebookAuthUtils.prepareRedirectUrl(getAbsoluteRedirectUrl(), facebookAuthUtils.requiredPermissions)) в FacebookAuthRedirectFilter.