使用 facebook 进行春季社交登录
Posted
技术标签:
【中文标题】使用 facebook 进行春季社交登录【英文标题】:spring social Sign-in using facebook 【发布时间】:2015-07-07 10:37:05 【问题描述】:我成功完成了注册流程,并且用户配置文件已注册并在用户连接表中创建了一条记录。
我正在使用带有 Spring 安全性的 Spring-social 遵循blog 中提到的步骤
现在我的问题是旅程 2,这意味着用户已经使用 facebook 注册,并且需要使用 facebook 登录。我可以通过这种方式设置登录后 url
SpringSocialConfigurer sc = new SpringSocialConfigurer();
sc.postLoginUrl("/account/social");
并将其添加到安全过滤器链中。
所以调用这个方法,但连接总是空的。其实我想获取登录用户的用户ID和用户名
@RequestMapping(value="/account/social", method = RequestMethod.GET)
public void resendUsl(HttpServletRequest request,WebRequest request1, HttpServletResponse response,Model model) throws IOException
System.out.println("here");
Connection<?> connection = ProviderSignInUtils.getConnection(request1);
我已经尝试创建一个类SimpleSignInAdaptor
,但这里根本没有来电。
public class SimpleSignInAdaptor implements SignInAdapter
登录成功后如何获取用户信息?
感谢您的帮助
更新以这种方式解决,但如果用户使用 facebook 和 twitter 帐户注册并尝试使用其中之一登录,则会出现问题。它总是获取 facebook 连接通过连接存储库获得连接对象
@Inject private ConnectionRepository connectionRepository;
@RequestMapping(value="/social", method = RequestMethod.GET)
public void resendUsl(HttpServletRequest request,WebRequest request1, HttpServletResponse response,Model model) throws IOException
Connection<Facebook> connection = connectionRepository.findPrimaryConnection(Facebook.class);
【问题讨论】:
【参考方案1】:这可能会帮助你:Spring Social Project
【讨论】:
我将它与 spring security 一起使用。 只需在上面添加 Spring Security 层 :) @Arpit 我正在使用你的项目,效果很好!但是我如何使用这种机制来创建一个新用户并在我的 spring mvc 应用程序中自动对他进行身份验证?谢谢 @rmpt:在其上添加一个 Spring Security 层,动态创建用户。参考:github.com/arpitaggarwal/spring-app以上是关于使用 facebook 进行春季社交登录的主要内容,如果未能解决你的问题,请参考以下文章
使用社交媒体帐户(即 Facebook)注册/登录到 magnolia cms
OAuth2“社交登录”流程(允许通过 Facebook/Twitter 进行 OAuth2 身份验证):是不是有任何示例/文献?