facebook-graph-api - Grails Spring Security如何在自定义身份验证中记住Me?

标签 facebook-graph-api grails spring-security oauth-2.0 grails-plugin

我使用grails spring安全性和用于Facebook身份验证的自定义auth方法:

def auth() {
    ...
}

当我在浏览器中检查cookie时,可以看到关闭浏览器 session 后cookie生存期已结束。仅当我使用插件中的默认登录/身份验证操作时,才会设置持久性RememberMe cookie。

我必须做些什么更改,以使在我的自定义身份验证方法下登录的用户不会在 session 之间注销?

对于重新认证,我使用:
def success() {

    // get facebook user data

    springSecurityService.reauthenticate username

    if(springSecurityService.loggedIn) {
            // do something

    }
}

如何设置RememberMe Cookie?

最佳答案

想法:让Spring Security记住我的服务知道应该考虑成功登录。

  • 在您的Facebook成功操作中,成功通过身份验证后,请执行以下操作:
    //wire remember me services
    def rememberMeServices
    
    //... in your action:
    springSecurityService.reauthenticate username
    
    def authentication = SecurityContextHolder.context.authentication
    rememberMeServices.loginSuccess(request, response, authentication)
    
  • 在您的Config.groovy中添加
  • ,添加以下内容
    grails.plugins.springsecurity.rememberMe.alwaysRemember = true
    
  • 关于facebook-graph-api - Grails Spring Security如何在自定义身份验证中记住Me?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14087342/

    相关文章:

    php - 使用 cURL PHP/Graph API 在 Facebook 中发布对评论的回复

    grails - 更改默认错误的重定向

    grails - 用大量变量更新域类对象的最佳方法是什么

    java - 如何使用 Spring security 解除方法的保护

    spring-security - 在Spring Security中如何处理NOT hasAuthority

    java - 使用 facebook graph api 共享链接后,Android 解析 facebook 登录不起作用。

    facebook - 如何使用图形 API 从 Facebook 群组检索照片?

    java - 使用 facebook4j 从帖子中获取评论

    java - Image byte [] 到 Grails 中的 response.outputStream 导致 "Cannot forward after response has been committed"

    java - Spring Security 循环 bean 依赖