问题标签 [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.
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 的情况下实现此目的的好方法。
谢谢
ruby-on-rails - Rails/Devise - 确定用户会话何时到期
在使用timeoutable
Devise 模块时,如何确定当前用户的会话将过期多长时间?目标是在所有响应中包含此值,以便客户端脚本可以使用它。我收集到 Devise 内部使用 Warden 进行身份验证,但我还没有找到任何解释如何将会话到期时间拉出 Warden 深度的东西。
ruby-on-rails - 设计守望者身份验证第一次失败,之后成功
我正在使用 Devise 为我的 Rails 应用程序使用数据库身份验证(用于用户名和密码)和令牌身份验证来验证我用 Grape 构建的 API 的用户。Devise 正在按预期生成身份验证令牌。但是,似乎身份验证在第一次请求之后总是失败,并且在随后的时间里起作用。我authenticate!
在 Grape 中调用 API 之前调用,其定义如下:
这是非常奇怪的行为。如果我首先尝试使用浏览器登录,然后通过对 API 的 curl 调用,它可以工作。似乎第一个请求在服务器重新启动后总是会失败。
这是预期的行为吗?如果是这样,为什么会这样,我该如何避免?身份验证密钥登录是否总是需要先通过浏览器进行常规登录?
PS:我确实读过Devise authentication failed on first attempt, succeeds after,但它似乎没有回答这个问题。
scala - 将 OAuth 添加到 Scalatra Web 服务
我正在寻找构建一个基于 Scalatra 的 API。其中一项要求是 OAuth 身份验证。我注意到 OAuth 指南尚未发布在 Scalatra 官方网站上。通过弄清楚如何将基于 OAuth 的策略添加到 Warden 中,当前添加 OAuth 支持的最佳方式是什么?我来自基于 Ruby on Rails 的背景,对许多 Scala/Java 约定很陌生。可能有几种方法可以解决这个问题,但我希望有任何记录在案的解决方案,并且可以在我自己的应用程序中参考实施。
ruby - Faraday::Error::TimeoutError(超时::Error):
我遇到了一个问题,我一直在为法拉第超时。我不知道问题是什么。我真的可以在这里使用一些帮助。这在重定向上失败。我不确定是什么导致了这个问题。我一直试图解决这个问题整整 4 天,但似乎没有任何效果。关于法拉第的文档很少,所以我希望有人以前看过这个。
有人能帮助解决这个错误吗?是否需要更多信息?
omniauth - 如何使用warden_omniauth 将多个身份验证绑定到单个用户对象
我正在尝试将带有warden_omniauth 的社交登录引入我基于Padrino 的项目中。
我想为一个用户启用多个身份验证,就像RailsCasts #236一样。
但我发现,如果会话中有经过身份验证的用户对象,warden 将简单地跳过身份验证过程。例如,如果我使用 Twitter 登录,我无法将我的 Facebook 凭据链接到该用户对象。
我更深入地研究,发现在lib/warden/proxy.rb中,如果用户对象存在,该方法会_perform_authentication
绕过对身份验证策略的进一步调用。
是否有任何最佳实践来处理此类问题?
ruby-on-rails-3 - Rails 控制器错误:返回 401 时“未提供失败应用程序”
在我的控制器中,如果用户未登录,我想以 http 401(未经授权)错误响应 ajax 请求。但是,下面的代码会引发 500 内部服务器错误。Rails 给出错误:“没有提供失败的应用程序”。
如果我使用其他 http 错误代码,例如 :bad_request (400) 它可以正常工作。问题似乎只有 401 错误代码。为什么是这样?
sinatra - 任何带有“确认”和“忘记密码”邮件支持的 Sinatra+Warden 示例?
是否有关于如何使用 Sinatra 和 Warden 以及“确认”和“忘记密码”邮件支持的示例?
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 被调用两次感到不舒服。有没有其他人看过这个?这可能是那些仅发生在开发中的环境异常之一吗?