ruby-on-rails – Authlogic和单一访问令牌

我很难找到一个关于如何使用authlogic启用单一访问令牌身份验证的简单教程.有一些文档,但它不是很有帮助.

我将single_access_token添加到我的数据库中,我添加了这个:

single_access_allowed_request_types :any

到我的Session类.但我仍然不明白如何使用每次调用传递的凭据参数对用户进行身份验证.我在过滤器之前的require_authentication对current_user进行了标准检查,如下所示:

def current_session
    return @current_session if @current_session
    @current_session = Session.find
  end

  def current_user
    @current_user = current_session && current_session.record
  end

但这足以奏效吗? Session.find方法是否能够根据我的参数来记录用户,或者我是否必须创建单独的方法来实际检查user_credentials参数是否存在然后根据它找到用户然后将该用户记录下来.如果我每次使用SAT时都“创建”一个新会话,或者每次进行API调用时我只是在一个before过滤器中设置当前用户,我感到很困惑.

任何帮助都会很棒!谢谢!

解决方法

我使用authlogic实现了一个single_access_token解决方案,我必须做的是将single_access_allowed_request_types:all添加到UserSession模型.

然后我将以下内容添加到控制器中,我想允许single_access_token身份验证.

def single_access_allowed?
      ["some_action_1","some_action_2","some_action_3"].include?(action_name)
  end

看起来你错过了控制器代码.因此,如果你有两个动作“get_user_info”和“update_user_info”,你会添加.

def single_access_allowed?
      ["get_user_info","update_user_info"].include?(action_name)
  end

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...