微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/ruby/267812.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐