问题标签 [warden]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1921 浏览

ruby-on-rails - Rails:使用 config.session_store 进行设计:禁用

我正在使用 Rails 3 和 gem 构建一个无状态的 RESTful API devise

由于我不想存储任何会话,因此我通过定义 in 禁用了它们config/initializers/session_store.rb

我所有的 Warden Strategies(http 基本身份验证、令牌身份验证)都不存储任何信息(stored?返回 false)。

我在我的控制器中使用助手authenticate_user!作为 before_filter。我在身份验证期间收到以下错误:

第 32 行 session_serializer 中的代码是以下方法:

它崩溃是因为session(ie @env['rack.sessions']) 等于 nil (session_store 确实被禁用)。这是默认调用,尚未调用策略。

由于我不想修补补丁,因此我正在寻找一种在禁用 session_store 的情况下实现此目的的好方法。

谢谢

0 投票
3 回答
8819 浏览

ruby-on-rails - Rails/Devise - 确定用户会话何时到期

在使用timeoutableDevise 模块时,如何确定当前用户的会话将过期多长时间?目标是在所有响应中包含此值,以便客户端脚本可以使用它。我收集到 Devise 内部使用 Warden 进行身份验证,但我还没有找到任何解释如何将会话到期时间拉出 Warden 深度的东西。

0 投票
0 回答
635 浏览

ruby-on-rails - 设计守望者身份验证第一次失败,之后成功

我正在使用 Devise 为我的 Rails 应用程序使用数据库身份验证(用于用户名和密码)和令牌身份验证来验证我用 Grape 构建的 API 的用户。Devise 正在按预期生成身份验证令牌。但是,似乎身份验证在第一次请求之后总是失败,并且在随后的时间里起作用。我authenticate!在 Grape 中调用 API 之前调用,其定义如下:

这是非常奇怪的行为。如果我首先尝试使用浏览器登录,然后通过对 API 的 curl 调用,它可以工作。似乎第一个请求在服务器重新启动后总是会失败。

这是预期的行为吗?如果是这样,为什么会这样,我该如何避免?身份验证密钥登录是否总是需要先通过浏览器进行常规登录?

PS:我确实读过Devise authentication failed on first attempt, succeeds after,但它似乎没有回答这个问题。

0 投票
1 回答
587 浏览

scala - 将 OAuth 添加到 Scalatra Web 服务

我正在寻找构建一个基于 Scalatra 的 API。其中一项要求是 OAuth 身份验证。我注意到 OAuth 指南尚未发布在 Scalatra 官方网站上。通过弄清楚如何将基于 OAuth 的策略添加到 Warden 中,当前添加 OAuth 支持的最佳方式是什么?我来自基于 Ruby on Rails 的背景,对许多 Scala/Java 约定很陌生。可能有几种方法可以解决这个问题,但我希望有任何记录在案的解决方案,并且可以在我自己的应用程序中参考实施。

0 投票
1 回答
4385 浏览

ruby - Faraday::Error::TimeoutError(超时::Error):

我遇到了一个问题,我一直在为法拉第超时。我不知道问题是什么。我真的可以在这里使用一些帮助。这在重定向上失败。我不确定是什么导致了这个问题。我一直试图解决这个问题整整 4 天,但似乎没有任何效果。关于法拉第的文档很少,所以我希望有人以前看过这个。

有人能帮助解决这个错误吗?是否需要更多信息?

0 投票
0 回答
64 浏览

omniauth - 如何使用warden_omniauth 将多个身份验证绑定到单个用户对象

我正在尝试将带有warden_omniauth 的社交登录引入我基于Padrino 的项目中。

我想为一个用户启用多个身份验证,就像RailsCasts #236一样。

但我发现,如果会话中有经过身份验证的用户对象,warden 将简单地跳过身份验证过程。例如,如果我使用 Twitter 登录,我无法将我的 Facebook 凭据链接到该用户对象。

我更深入地研究,发现在lib/warden/proxy.rb中,如果用户对象存在,该方法会_perform_authentication绕过对身份验证策略的进一步调用。

是否有任何最佳实践来处理此类问题?

0 投票
1 回答
526 浏览

ruby-on-rails-3 - Rails 控制器错误:返回 401 时“未提供失败应用程序”

在我的控制器中,如果用户未登录,我想以 http 401(未经授权)错误响应 ajax 请求。但是,下面的代码会引发 500 内部服务器错误。Rails 给出错误:“没有提供失败的应用程序”。

如果我使用其他 http 错误代码,例如 :bad_request (400) 它可以正常工作。问题似乎只有 401 错误代码。为什么是这样?

0 投票
1 回答
445 浏览

sinatra - 任何带有“确认”和“忘记密码”邮件支持的 Sinatra+Warden 示例?

是否有关于如何使用 Sinatra 和 Warden 以及“确认”和“忘记密码”邮件支持的示例?

0 投票
2 回答
1367 浏览

ruby-on-rails-3 - Rails Warden before_logout 被调用两次

当我尝试调用“user.my_method”时,我正在努力弄清楚为什么我对 Warden::Manager.before_logout 的调用会为 NilClass 抛出 NoMethodError。然后我在 before_logout 块中添加了一个 debug puts 调用,发现它在每次注销时都被调用了两次——第一次是用户为 nil,然后紧接着是提供了用户对象。因此,我可以通过将调用更改为“user.my_method if user”来巧妙地绕过异常,但我仍然对不知道为什么 before_logout 被调用两次感到不舒服。有没有其他人看过这个?这可能是那些仅发生在开发中的环境异常之一吗?

0 投票
1 回答
1042 浏览

ruby-on-rails - Rails:秘密令牌错误

我正在使用 Rails 3.2.13 并收到以下消息:

我在此拉取请求和此处的讨论中找到了对此的参考。

我正在使用 Devise(因此,Warden)并且讨论中的信息是相关的。我不想破解 railtie gem - 这里推荐的操作是什么?

谢谢

堆栈跟踪: