Весенняя социальная интеграция состоит из 3 частей.
- Регистрация
В Signup локального пользователя создается на основе информации, предоставленной поставщиком
- Connect
В подключить отобразим локального пользователя к пользователю OpenId
- зарегистрировались
В зарегистрировались мы позволяет авторизованному пользователю с открытым доступом регистрироваться в нашей заявке
Подпись
В поле ввода SigninAdapter
используется для загрузки локального пользователя, чтобы слой Spring Security мог его использовать. Здесь параметр localUserId
указывает на идентификатор пользователя в нашем приложении. Поэтому в адаптере нам нужно загрузить этого пользователя как org.springframework.security.core.userdetails.User
и установить его на SecurityContext
.
экс:
LocalUser lu = getLocalUser(localUserId); // Load the local user from database
User user = new User(lu.username, lu.password, lu.authorities)
UsernamePasswordAuthenticationToken result = new UsernamePasswordAuthenticationToken(user, user.getPassword(), user.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(result);
Connect
Spring Социальные провайдеры org.springframework.social.connect.web.ConnectController
, который поможет нам связать локального пользователя к пользователю OpenId.
Он требует, чтобы вы отправили запрос POST
на номер /connect/<provider>
, это перенаправит пользователя на страницу входа в систему поставщика, где пользователь должен аутентифицировать приложение.
Yeah thx. Но как я могу использовать соединительную часть, если пользователь уже выполнил вход в мою собственную систему входа. –
Вы хотите знать, как работает соединительная часть? –