问题标签 [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.
ruby-on-rails - 在使用 devise-token-auth 与 rails api 的低网络连接期间出现 401s
我有一个使用 devise-token-auth 的 rails api。最近我的 Wifi 非常不稳定/速度很慢,我注意到我从我的应用程序中收到了 401。我的理论是刷新的身份验证令牌要么丢失,要么被坏网络延迟。话虽如此,我很难重现错误本身。
三个主要问题:
- 由于新的 auth-token 丢失或延迟,不稳定的 Wifi/网络连接是否会导致 401。如果是这种情况,是否有一种无需用户重新登录即可恢复的方法。
- 如何重现这样的环境,所以我可以调试这个场景。
ruby-on-rails - 如何覆盖 devise_token_auth 中的关注点
我用devise_token_auth
宝石。我想要覆盖resource_finder.rb
对修改方法的关注provider
。
ruby-on-rails - 使用 set_user_by_token 设计问题
我遇到了一个简单的问题,尽管我确实找到了它的位置,但我似乎找不到解决方法。
我要做的是使用devise_token_auth设置设计密码重置。我已经使用令牌生成器设置了电子邮件,并且电子邮件链接到'/api/auth/passwords/edit'
验证令牌的端点,然后重定向到我的前端密码重置表单(如果重要,在 reactjs 中完成),当我实际提交时问题出现了表单,我正在发送令牌,我也在发送密码和确认、到期、uid 和所有其他标题。
所以这是问题所在,设计密码控制器调用之前的操作set_user_by_token,我通过一些调试发现这就是问题所在,我使用set_users_by_token的默认代码创建并覆盖模块,并通过使用 binding.pry我看到没有通过方法调用传入任何值,但是该方法被调用是因为它被撬了。
这是方法代码
由于没有满足其他条件,因此最后它击中了 else 并将资源返回为 nil。
任何帮助将不胜感激,我很确定这是问题所在,因为我已经调试了好几天,这就是它引导我的地方
devise-token-auth - 如何使用带有 devise_token_auth 的 PUT 更新帐户?
我在我的 Rails 5 API 应用程序中使用 devise_token_auth gem。为了测试所有设计令牌路线,我使用 Postman。当我尝试在路由“ https://localhost:3000/auth ”上使用 PUT 方法更新用户帐户时,我用以下内容填充请求正文:
或者
响应返回具有相同(未更新)属性"success"
的用户的状态和 JSON 表示。"name"
这是否意味着 devise_token_auth 不提供此类功能并且必须覆盖User
控制器和模型?
ruby-on-rails - Rails Devise_token_auth invalid_credentials: OAuth2::Error
我正在构建一个基于 restful 的 rails 5、devise_token_auth 和 Omniauth google Oauth2 的 api。
目前通过电子邮件创建的基本帐户运行良好,现在我正在尝试使用 Google 配置身份验证,但在身份验证期间我遇到了一些我无法解决的错误。
在我面临的不同错误下方:
或者
这里还配置了:devise.rb:
omniauth.rb:
如果您对根本原因有任何想法,请随时更新它,
ruby-on-rails - 带有 devise_token_auth 的 Rails 设计未显示登录表单
嗨,我正在尝试将设计与 devise_token_auth 一起使用。
最初我的应用程序是仅 API 应用程序。因此,我们使用 --api 标志生成了应用程序。但是在我们需要为我们的管理功能添加 Rails 视图之后。截至目前,所有控制器都继承自ApplicationController
哪一个继承自ActionController::API
. 因此,我创建了一个名为的新控制器AppController
并从ActinController::Base
. AppController
我开始从我所有新创建的控制器继承。我所有新创建的控制器都在我的admins
命名空间内。
这是我的routes.rb
:
在这里,我有来自 API 的请求(由 devise_token_auth 处理)的路由,对于来自正常请求的路由,我添加了 devise_for :users,如::admins,如上所示。
我的admins/sessions_controller.rb
:
我生成了设计视图并添加到里面的admins
文件夹中views
我的AppController
:
问题来了,每当我尝试访问任何页面时,它都应该将我重定向到登录页面。但它只显示以下错误
You need to sign in or sign up before continuing.
整个页面是空白的,并且没有显示任何登录表格。我创建了sessions/new.html.haml
页面并放置在我的视图中的 admins 文件夹中。
server log
:
如果您需要更多信息,请告诉我
ruby-on-rails - devise_token_auth:注册后如何登录用户?
我已经成功迁移到devise_token_auth
(从simple_token_authentication
),但是出于用户体验的原因,我希望允许用户注册他们的帐户,立即使用他们的帐户(之前通过在注册响应中返回一个令牌来完成),然后确认他们的电子邮件解锁某些功能。如何通过这个 gem 实现这个流程?
ruby-on-rails - Rails 5.2 Auth - create_new_auth_token 后返回的令牌
我正在使用devise_token_auth并且遇到了一个奇怪的场景。
我的数据库中只有一个用户,当我在控制台中询问他的令牌时,我得到了这个:
所以现在我想要一个新的令牌,所以我执行以下命令:
这是对那个电话的回应
哪个应该是新的令牌,对吧?所以我再次检查用户的令牌:
现在,你看到问题了吗?新客户端J_Bb35u9pcBCUSLuzP8axA
匹配但access-token
我在创建新令牌时收到的 ( ) 与存储在数据库中的 ( )Uof0cB0KcI5RH-GFOCezDw
不匹配$2a$10$trmOQQOnQRfMXGk0s8XS5ufUl9OHDnPcK7f4M4qXfGggj4gCUIc12
这是为什么?我认为创建新令牌时的响应将是同一个令牌。是什么access-token
意思?它是干什么用的?
ruby-on-rails-5 - devise_token_auth 未定义方法“create_token”问题
在我的 rails 5 应用程序中,我使用“devise_token_auth”gem 来开发基于令牌的 API 以进行身份验证。到目前为止,一切都运行良好,但突然间我遇到了错误,
在谷歌上找不到任何解决方案。以下是完整的错误,
ruby-on-rails - devise_token_auth 总是返回 401 Unauthorized
我正在开发一个带有 Rails API 的 Angular 应用程序。我正在使用Devise Token Auth和angular-token 的 6.x 分支。我可以毫无问题地 CRUD 用户,并且可以登录,但是当我尝试访问受限制的资源(通过before_action :authenticate_user!
帮助程序限制的资源)时,无论我是否登录,我都会收到错误消息。
相关控制器:
一些东西:
- 我肯定是根据
angular-token
-时的TokenService.UserSignedIn()
回报登录true
的401 Unauthorized response
。 - 我已经启用了 CORS。
- 我在 rack-cors 配置中公开了以下标头
['access-token', 'expiry', 'token-type', 'uid', 'client']
:
任何帮助将不胜感激。
来自登录的示例响应:
角码:
编辑:
我发现问题在于angular-token
未设置身份验证标头,因为我认为这是以下代码中的错误:
由于我没有apiPath
定义,因此req.url.match(this.tokenService.apiPath))
被评估为false
,因此永远不会添加标题。