通过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 中创建用户会话?
Spring Social - facebook登录时出现404错误
从移动设备登录 Spring Security、Rest api 和 Facebook
spring boot oauth2.0 和 spring security:如何通过 facebook 或 slack 授予用户登录权限(权限)