Java 理解春天的象征

Java 理解春天的象征,java,signing,spring-social,Java,Signing,Spring Social,大家好,我读了很多关于Spring Social的文章,我有一个问题。SignInAdapter的signIn方法中的参数“userLocalId”是什么,它接受这个id?我通过facebook注册用户,获取注册表单中的信息。在此之后,我希望他按下登录按钮(facebook登录)并访问我的网站 我是否应该这样做:在SignInAdapter中,我将连接到facebook,并将其社交信息与我的用户表中的字段进行比较?Spring社交整合有三个部分 注册 在注册过程中,将根据提供商提供的信息创建本

大家好,我读了很多关于Spring Social的文章,我有一个问题。SignInAdapter的signIn方法中的参数“userLocalId”是什么,它接受这个id?我通过facebook注册用户,获取注册表单中的信息。在此之后,我希望他按下登录按钮(facebook登录)并访问我的网站


我是否应该这样做:在SignInAdapter中,我将连接到facebook,并将其社交信息与我的用户表中的字段进行比较?

Spring社交整合有三个部分

  • 注册
    在注册过程中,将根据提供商提供的信息创建本地用户
  • 连接
    在connect中,我们将本地用户映射到openID用户
  • 签名
    在signin中,我们允许openId认证的用户登录到我们的应用程序
登录
在signin中,
SigninAdapter
用于加载本地用户,以便Spring安全层可以使用它。这里,
localUserId
参数将指向应用程序中的用户Id。因此,在适配器中,我们需要将此用户加载为
org.springframework.security.core.userdetails.user
,并将其设置为
SecurityContext

例:

连接
Spring Social Providers a
org.springframework.Social.connect.web.ConnectController
,它将帮助我们将本地用户链接到openId用户。

它要求您向
/connect/
发送
POST
请求,这将用户重定向到提供商的登录页面,用户必须在该页面上验证应用程序。

Yeah thx。但是,如果用户已经通过我自己的登录系统登录,我如何使用connect part呢。
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);