首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >门卫与Rails 4应用集成

门卫与Rails 4应用集成
EN

Stack Overflow用户
提问于 2015-09-19 19:08:20
回答 1查看 243关注 0票数 0

按照看门人github自述的指示(我想),我得到了尽可能多的before_action

代码语言:javascript
复制
class ReadingsController < ApplicationController
  before_action :doorkeeper_authorize! # Require access token for all actions
...
end

RubyMine抱怨:doorkeeper_authorize!没有在作用域中定义。不管怎么说,我会得到:

代码语言:javascript
复制
Processing by ReadingsController#index as HTML
Filter chain halted as :doorkeeper_authorize! rendered or redirected
Completed 401 Unauthorized in 48ms (ActiveRecord: 0.0ms)

和一个完全空白的结果。当我查看查看源时,它看起来就像常规的结果页面。

这是失败还是真的告诉我我是未经授权的?如果是的话,为什么我要连接一个重定向,让某人实际上,很好地验证?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-19 20:22:31

遵循我以前做过的一个例子,您的代码在一个完全出乎意料的地方失败了:在这样一个块中Door门将的初始化器中:

代码语言:javascript
复制
resource_owner_authenticator do
  current_user || begin
    session[:guest_return_url] = request.fullpath
    redirect_to(user_omniauth_authorize_path(:facebook))
  end
end

我不知道在这个块中有什么,但是通常它应该返回一个对象,这个对象应该作为资源所有者来处理。看门人失败了,因为那个街区没有做到这一点。为了在我的示例中实现这个块,我使用了Devise的current_user助手和一个备用redirect_to,用于用户未经过身份验证(毕竟在before_action中执行)。

所以对于门卫来说,“让你进去”,你需要告诉它“如何认出主人”。这是门卫处理不了的authentication

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32672180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档