通过facebook登录后设置spring security记住我的cookie

Posted

技术标签:

【中文标题】通过facebook登录后设置spring security记住我的cookie【英文标题】:Set spring security remember me cookie after login via facebook 【发布时间】:2013-04-09 03:10:01 【问题描述】:

我正在构建一个可以选择通过 facebook/twitter 登录的移动网络应用程序。我希望应用程序通过 Spring 安全的记住我功能记住登录,以便用户需要经常登录。

我有将调用 facebook 并获取识别用户的 access_token 的部分。我可以使用

登录用户 SecurityContextHolder.getContext().setAuthentication( new UsernamePasswordAuthenticationToken(principal, credentials, authority));

我正在尝试使用类似的方法来添加记住我的功能

RememberMeAuthenticationToken auth = new RememberMeAuthenticationToken(key, principal, authority); SecurityContextHolder.getContext().setAuthentication(auth);

虽然这会登录用户,但它不会设置记住我的 cookie。我在这里想念什么?

谢谢!

【问题讨论】:

【参考方案1】:

尝试注入RememberMeServices接口的实现然后尝试做:

rememberMeServices.loginSuccess(request, response, auth);

确保请求中存在_spring_security_remember_me 参数。

【讨论】:

带有remember me参数的请求是否必须是POST? 另外,我需要自己编写记住我服务的实现吗?

以上是关于通过facebook登录后设置spring security记住我的cookie的主要内容,如果未能解决你的问题,请参考以下文章

facebook修改keyhash后,facebooke登录时候在验证界面重复弹出空白屏

Facebook 登录后 (javascript sdk) - 如何在 Spring-Security 中创建用户会话?

拒绝权限后登录 Facebook

Spring Social - facebook登录时出现404错误

从移动设备登录 Spring Security、Rest api 和 Facebook

spring boot oauth2.0 和 spring security:如何通过 facebook 或 slack 授予用户登录权限(权限)