问题标签 [devise-token-auth]

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 回答
1142 浏览

ruby-on-rails - 使用 Rails 和设计的 Azure AD 身份验证

我有一个带有设计配置和 mongodb 数据库的 rails 应用程序。我想配置 Microsoft azure AD 进行身份验证。当用户输入我的项目 url 并且用户未登录时,它应该重定向到 azure AD 的登录页面,并且当凭据正确时,它应该重定向回我的应用程序。我按照这个博客来实现我的要求。但它会引发随机错误。有人可以建议我怎么做吗?

0 投票
0 回答
155 浏览

react-native - 为什么使用 devise-token-auth 从 React Native 获取到 Nginx + Phusion Passenger + Rails 5,只响应 401?

我可以使用本教程https://gorails.com/deploy/ubuntu/18.04#nginx-passenger为我的 API配置 Nginx-Passenger-Rails5 并使用 Capistrano 进行部署。在尝试使用 Postman 并且 httpie 似乎工作后,唯一的问题是我在 React Native 上有一个应用程序并且 fetch 停止工作,只显示 401 Unauthorized。

我已经尝试将 Cors 添加到 Nginx 和 rails (application.rb) 在其他地方阅读,但仍然无法正常工作。

我的一些代码

每次的响应只是显示 401 Unauthorized

0 投票
1 回答
5509 浏览

ruby-on-rails - 如何在我的项目中使用 react frontend 文件夹实现 Devise?

我的项目正在使用带有 react redux 前端的 Rails 和 jbuilder。我很难弄清楚如何实现与 react 和 redux 一起工作的设计。你能不能给我一些指导。路线看起来如何?我很难开始。任何帮助将不胜感激。所以我的项目结构是这样的。

.

我可以参考这种项目结构的 git repo 吗?

0 投票
1 回答
1127 浏览

ruby-on-rails - 使用 gem devise_token_auth 时如何关闭 CSRF 令牌检查

我正在尝试关闭CSRF-tokenRails 应用程序(用作 API)中的检查,因为我想使用gem devise_token_auth

我让我的User.rb模型了解了新的身份验证形式:

在我的控制器中,我要求进行身份验证:

我也在使用gem rack-cors来决定谁可以向 Rails api 提出请求(暂时是每个人)

第一个问题:如果我注释掉方法protect_from_forgery

Rails 仍然尝试检查 CSRF 令牌:

正如我们可以看到的那样:

如果我注释掉,我不明白为什么会出现这种有效性检查protect_from_forgery

第二个问题:

在这个线程中:

在 Rails 3 中关闭 CSRF 令牌

我被告知跳过该方法verify_authenticity_token

为了禁用 CSRF 令牌。

如果我这样做:

现在我收到以下错误消息:

哪个看起来更好,因为现在没有应用 CSRF 令牌检查,但我感觉我也access-tokengem devise_token_auth

问题:哪一种是禁用 CSRF 令牌检查的正确方法?注释掉protect_from_forgery或添加skip_before_action :verify_authenticity_token

如果正确的方法是skip_before_action :verify_authenticity_token,如果我通过了,为什么我没有通过身份验证access-token

这就是我打电话的方式:

我收到access-token登录请求的响应

0 投票
1 回答
308 浏览

ruby-on-rails - 使用 Devise 令牌身份验证时如何更新没有令牌的用户?

作为我的应用程序的一部分,当我向其他用户发送邀请时,我需要在新创建的用户登录应用程序之前为他们设置一堆参数。因此,在切换到 DeviseTokenAuth(和 rails api)之前,我使用了 devise,它允许我从后端进行用户更改。例如,如果我转到控制台并执行 user.save,它会返回 true。

现在切换到 DeviseTokenAuth 后,我必须在 User 模型的关注文件中输入以下内容:

包含此内容后,我无法从后端对用户进行更改(例如,rails 控制台> user.save 返回 false)。我认为每次更新用户时都需要一个令牌?对于特定的控制器操作,我如何跳过此操作,例如,我需要在用户/客户端实际调用操作的情况下更新用户。(发送令牌)

0 投票
1 回答
228 浏览

angular - 如何将 ng2-file-upload 与设计令牌身份验证一起使用?

我目前正在尝试将 ng2-file-upload 与设计令牌身份验证一起使用。:https ://devise-token-auth.gitbook.io/devise-token-auth/conceptual 。文件上传器目前直接处理 http 请求,因此,我没有使用 angular token rest api 服务类来上传对象:https ://angular-token.gitbook.io/docs/session-management 。相反,我必须手动设置与身份验证令牌一致的标头。

HTML 文件

上传本身成功完成,但上传后,我看到会话中的访问令牌不再起作用。我认为这是因为我使用设计令牌身份验证来根据请求更新令牌,并且我没有将其设置到我的本地存储中。如何手动检索响应标头中的令牌并将其设置到浏览器的本地存储中?(否则在正常请求中由角度令牌处理)

0 投票
2 回答
88 浏览

devise-token-auth - 设计令牌身份验证安装:默认路由设置导致错误

从全新create-repack-app安装。我将以下内容添加到我的Gemfilethen 运行中bundle

然后我运行:

创建数据库(开发和测试)并生成 ruby​​ 文件(包括对config/routes.rb文件的添加)。现在尝试任何rakerails命令执行以下操作:

注释掉config/routes.rb文件中的以下内容:

删除此错误。添加到User模型的代码不会导致此错误。我rails g devise:install也需要跑步吗?该文档没有提及任何额外的内容。所以我不确定我做错了什么。

0 投票
1 回答
243 浏览

rspec-rails - 在 RSpec 请求响应中没有获得访问令牌

导轨 6.0.0

红宝石 2.6.3

gem 'rspec-rails', '~> 3.8.2'

gem 'devise_token_auth', '~> 1.1.3' (默认设置)

除了我的 rspec 请求响应不包含access-token.

检查时,我得到

注意,access-token标题只包含一个空格(也过期)。在开发环境中并非如此,一切似乎都按预期工作。所以,我觉得我在我的 RSpec 配置或 rails_helper 中遗漏了一些东西。

这样做的一个副作用是,我的 API 文档auth-token在生成时只是省略了密钥(和到期)。

有任何想法吗?

样品规格

0 投票
2 回答
724 浏览

ruby-on-rails - 如何使用 devise-token_authenticable gem 访问 current_user?

我正在开发一个正在使用devise和设置devise-token_authenticatable的小项目Rails/GraphQL/Apollo/React。项目是使用 设置webpacker的,因此前端和后端都来自同一个域。登录、注册、注销都由前端(React)处理。我还需要指出这不是一个仅 API 的应用程序。

看来,服务器没有设置current_user正确的 cookie,我收到了网络错误。

Heroku 日志显示以下错误:

这是否意味着它在 nil 类上尝试“authentication_token”方法?

同时它在控制台中显示此错误:

在我的登录组件的登录突变中,我在成功登录后将用户的 authentication_token 存储在本地存储中,在我的 Apollo 设置中,我从存储中检索它并将其附加到每个请求。但是 Chrome 开发工具的网络选项卡显示在响应标头中登录后我没有得到设计设置的 cookie。我对这一切都很陌生,所以不确定这是问题所在还是其他原因。PS:我没有使用设计会话,因为登录是在从端处理的。我有devise_for: users, skip: :sessions我的路线。

代码片段:

阿波罗提供

组件用户信息

登录突变

非常感谢任何帮助。预先感谢您的帮助。

更新:问题已解决:(有关其他信息,另请参阅下面的答案)

通过current_userapplication_controller.rb.

这是代码...

0 投票
0 回答
117 浏览

ruby-on-rails - 如何发送访问令牌以响应 devise-auth-token

我在我的 rails 应用程序中使用 devise auth token 进行身份验证,我想在响应的标头中返回 uid 、 client 和 access-token