问题标签 [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 回答
435 浏览

ruby-on-rails - 设计令牌身份验证响应不包括手动生成的标头令牌

我必须实现自己的确认控制器,因为我使用手机而不是电子邮件。

puts response.headers在 rspec 中:

我从这个https://github.com/lynndylanhurley/devise_token_auth/blob/bef1b0b7172459dff0d0a23f8d911a7b23b9a6c7/app/controllers/devise_token_auth/confirmations_controller.rb#L15指导我的实施

0 投票
1 回答
1800 浏览

ruby-on-rails - 设计令牌身份验证在登录时不返回令牌

我已经按照这里这里的教程进行操作。

我可以创建一个用户并从 sign_in 获得成功的响应,但该登录不包含要在未来请求中使用的访问令牌。

我还可以确认正在创建令牌并将其保存在数据库中。

注册请求

退货

使用服务器日志

登录请求

退货

使用服务器日志

像这样关于同一问题的其他帖子没有帮助

迁移:

用户.rb

路线.rb

宝石文件

应用程序.rb

我在Rails 6.0.3.2和上使用仅限 API 的应用程序ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]

我觉得我可能错过了一些愚蠢的东西。

0 投票
1 回答
149 浏览

ruby-on-rails - 使用 Devise Token Auth 允许多个用户使用相同的电子邮件

我想允许使用devise-token-auth创建具有相同电子邮件的多个用户。

而不是抛出这个错误。

我希望devise :validatableuser.rb 中删除会起作用,但事实并非如此。

用户.rb

我从几年前发现这是一个类似的 SO 问题,但这些建议没有奏效。

我想知道这是否特别是设计令牌身份验证问题,而不是设计。

以前有没有人解决过这个问题?

0 投票
2 回答
357 浏览

ruby-on-rails - 为 Active Admin 和 devise_token_auth 扩展 Rails 应用程序控制器

我正在尝试在我的 rails api 后端同时实现 devise_token_auth 和 Active Admin。

devise_token_auth FAQ上有非常清晰的说明,解释了如何一起实现这两者——它需要两个不同的应用程序控制器类。

我的应用程序中有这两个控制器,但我不知道如何从它们继承 Active Admin 和 devise_token_auth 的控制器。

我确定我在这里遗漏了一些基本的东西,因为在我在 StackOverflow 上看到的所有关于此的答案中,似乎假设我知道如何做到这一点。

任何人都可以帮忙吗?

编辑:

重申问题,因为我认为我第一次不清楚。现在,Active Admin 和 devise_token_auth 都在使用 ApplicationController,尽管我也创建了 ApiController。如何让 devise_token_auth 使用 ApiController?

0 投票
1 回答
421 浏览

ruby-on-rails - 带有 Devise Token Auth 未初始化常量用户的 Rails

我正在使用带有设计令牌身份验证的导轨。我想实现omniauth,但它让我一直在询问未初始化的常量用户

路线.rb

在 app/controllers/api/v1/users/omniauth_callbacks_controller.rb

我不知道我在哪里做错了。我已经在谷歌尝试了所有答案但没有工作

0 投票
0 回答
267 浏览

ruby-on-rails - Rails Devise Token Auth Reset Password Flow - 如何从 302 重定向深层链接

我正在尝试使用设计令牌身份验证 gem 实现重置密码流程:https ://github.com/lynndylanhurley/devise_token_auth

最终客户端将是移动设备(例如 iOS、Android)。我不确定本机客户端将如何捕获 url 以重置密码并通过深度链接显示密码表单。以下是我理解的一般步骤:

  1. auth/password使用电子邮件发送POST 到redirect_url
  2. 这将发送一封电子邮件,其中包含重置密码的链接和包含的reset_password_token查询参数。
  3. 单击链接会触发 GET 到auth/password/edit
  4. 然后,此 GET使用查询参数中的第一个请求触发 http 302 重定向到redirect_url发送。应该路由到旨在显示密码字段以重置用户密码的表单reset_password_tokenredirect_url在移动客户端上,理想情况下这将作为深层链接处理。

我对移动应用程序将如何处理第 4 步感到困惑。我听说很难通过 302 重定向在本机应用程序中进行深层链接/可能不可能。我可能误解了流程的一部分吗?如果我能清楚地了解如何为移动客户端成功实施此流程,我将不胜感激。

以下是我从官方文档中遵循的指南供参考:https ://devise-token-auth.gitbook.io/devise-token-auth/usage/reset_password

0 投票
0 回答
108 浏览

ruby-on-rails - 设计令牌身份验证 - 永久令牌?

除了更改token_lifespan设置之外,有没有办法使用 Devise Token Auth 生成永久令牌?

我有一个需要登录的面向用户的 api,但我还需要设置用于集成的相同 api,并带有令牌身份验证

如果没有办法改变令牌的寿命,有什么建议可以做到这一点吗?

0 投票
1 回答
191 浏览

devise-token-auth - 无法通过其令牌验证用户,过滤器链停止为:authenticate_user!呈现或重定向

我正在尝试获取 current_user 但非用户通过 API 请求的标头进行身份验证。标头 include access-token,但它不进行身份验证并显示以下错误clientuid

供参考,请检查此回购

回复:

登录时的标头响应: 在此处输入图像描述

请求配置文件,演示端点

0 投票
1 回答
133 浏览

ruby-on-rails - 设计令牌身份验证 - 不将令牌返回给客户端

设置 devise_token_auth。

继续解决源代码中的问题。

前任:

它将从以下位置调用:

SessionsController::create> render_create_success>token_validation_response

据我了解,您需要将令牌发送给客户端并将其存储在客户端并随每个请求一起发送。如果我们不将令牌提供给客户端和它,我不确定这应该如何工作except

except: %i[tokens created_at updated_at]

源链接: https ://github.com/lynndylanhurley/devise_token_auth/blob/c92258038c05fcc8f6a0374ccce2e63b9f8d5312/app/controllers/devise_token_auth/sessions_controller.rb#L36

https://github.com/lynndylanhurley/devise_token_auth/blob/c92258038c05fcc8f6a0374ccce2e63b9f8d5312/app/models/devise_token_auth/concerns/user.rb#L205

0 投票
1 回答
241 浏览

ruby-on-rails - DeviseToken Auth 未接收到要注销的令牌/标头数据

我在让 devise_token_auth 注销工作时遇到问题。

我正在基于这些 SO:

如何在axios中设置header和options?

为什么我无法使用 devise_token_auth 和 curl 退出?

这是设计令牌认证、销毁方法。它确实到达此方法并在断点处停止。

https://github.com/lynndylanhurley/devise_token_auth/blob/c92258038c05fcc8f6a0374ccce2e63b9f8d5312/app/controllers/devise_token_auth/sessions_controller.rb#L48

@token在另一种方法中设置,它似乎没有被调用。我不太明白这种方法应该如何清除令牌。

在我的断点/方法的顶部,我@token#<struct DeviseTokenAuth::TokenFactory::Token client=nil, token=nil, token_hash=nil, expiry=nil>并且是零。@resource

客户端请求(Vue):

路线:

我究竟做错了什么?销毁方法是如何工作的?