0

Я пытаюсь реализовать весеннюю социальную связь с Facebook или другой социальной сетью.Spring social - Facebook can not authenticate

Я делаю неправильно, но я не знаю, что это.

Когда я делаю запрос на facebook в журнале, я вижу 200 (OK), но я не могу получить зарегистрированного пользователя.

I журналы, которые я вижу:

Во-первых, я вижу facebook возвращения пользователя:

2014-11-19T14:18:48.156+0100|Info: http-outgoing-1 << "{"id":"***","first_name":"***","gender":"male","last_name":"***","link":"https:\/\/www.facebook.com\/app_scoped_user_id\/***\/","locale":"es_ES","name":"***","timezone":2,"updated_time":"2014-03-20T21:50:00+0000","verified":true}" 

Но после запроса я вижу:

2014-11-19T14:18:48.164+0100|Info: GET request for "https://graph.facebook.com/me" resulted in 200 (OK) 
2014-11-19T14:18:48.165+0100|Info: Reading [class org.springframework.social.facebook.api.FacebookProfile] as "application/json" using [org.springfr[email protected]3ee8e5cb] 
2014-11-19T14:18:48.165+0100|Info: Connection [id: 1][route: {s}->https://graph.facebook.com:443] can be kept alive indefinitely 
2014-11-19T14:18:48.165+0100|Info: Connection released: [id: 1][route: {s}->https://graph.facebook.com:443][total kept alive: 1; route allocated: 1 of 5; total allocated: 1 of 10] 
2014-11-19T14:18:48.198+0100|Info: Authentication attempt using org.springframework.social.security.SocialAuthenticationProvider 
2014-11-19T14:18:48.220+0100|Info: Executing prepared SQL query 
2014-11-19T14:18:48.223+0100|Info: Executing prepared SQL statement [select userId from UserConnection where providerId = ? and providerUserId = ?] 
2014-11-19T14:18:48.243+0100|Info: Fetching JDBC Connection from DataSource 
2014-11-19T14:18:48.288+0100|Info: Returning JDBC Connection to DataSource 
2014-11-19T14:18:48.298+0100|Info: Authentication request failed: org.springframework.social.security.SocialAuthenticationRedirectException: 
2014-11-19T14:18:48.299+0100|Info: Updated SecurityContextHolder to contain null Authentication 
2014-11-19T14:18:48.299+0100|Info: Delegating to authentication failure handler org.spr[email protected]20cc9603 
2014-11-19T14:18:48.299+0100|Info: SecurityContext is empty or contents are anonymous - context will not be stored in HttpSession. 
2014-11-19T14:18:48.300+0100|Info: SecurityContextHolder now cleared, as request processing completed 

Когда я смотрю в моей базе данных в в таблице «UserConnection» я не вижу пользователя.

Также, когда я пытаюсь получить главного пользователя, всегда является анонимным.

Я не знаю, где ошибка или где класс, который мне нужно изменить или создать. Я могу поместить весь код.

Заранее спасибо. Stel.

+0

без какой-либо код, чтобы смотреть на, я не могу даже догадаться, что происходит. Вы настраиваете с помощью XML, JavaConfig или используете автоконфигурацию Spring Boot? Есть ли репозиторий GitHub, на который вы можете указать мне? Вы пробовали посмотреть пример Spring Social Showcase (https://github.com/spring-projects/spring-social-samples/tree/master/spring-social-showcase), чтобы увидеть, как он работает? –

+0

@CraigWalls Я использую JavaConfig, также я проверяю эти proyects, чтобы понять, потому что я думаю, что моя проблема - это мои знания. Я не могу положить весь мой код. – Arturo

ответ

0

Вы используете SpringSocialConfigurer? Вы просто вызываете «/ auth/{provider}»?

Я предполагаю, что у вас есть следующий вопрос:

Вы успешно вошли с помощью Facebook, однако

  • вы не имеете существующий userconnection с существующим локальным пользователем
  • вы не иметь местного пользователя и установить соединение с провайдером

Вы можете сделать несколько вещей, чтобы проверить

  • попробовать подход SIGNUP с помощью ProviderSigninController или
  • попытку установить в неявной/зарегистрировались регистрации. он создаст нового локального пользователя, если не найден.

Смотрите этот хороший учебник

http://www.petrikainulainen.net/programming/spring-framework/adding-social-sign-in-to-a-spring-mvc-web-application-configuration/