问题标签 [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 投票
2 回答
285 浏览

ruby-on-rails - Web 控制台中的 Rails gem devise_token_auth 标头无法访问 api,为什么?

我正在学习如何在我的 rails 5 API 中实现安全性。我正在开发一个角度应用程序来使用 API,为此我正在实现 devise_token_auth gem,但是在邮递员的测试中,我可以使用电子邮件和密码进行注册,然后收到带有令牌(过期)的响应,数据, 内容类型, 客户端, uid,然后我从 Angular 进行测试,并从我的浏览器和 Web 控制台注册,我可以看到从另一个应用程序访问 api 所需的所有信息。

设计方法 authenticate_user 需要参数:content-type、access-token、client、expiry、uid,但是每个人都可以通过查看 Web 控制台中的响应来访问此信息,所以...我选择此信息并粘贴 Postman 请求,我可以访问受保护的端点,那么这个 gem 有什么用呢?我错过了什么吗?

在这里,我从 Angular 登录,并在 Web 控制台中检查响应:

在此处输入图像描述

然后将信息粘贴到邮递员的新请求中以访问受保护的端点:

在此处输入图像描述

并且访问成功了,如何防止header信息显示在web控制台上?

0 投票
1 回答
89 浏览

ruby-on-rails - devise_token_auth 如何访问 user.created_at

我在我的 Rails 5 api 上使用 devise_token_auth

目前,当我向一切顺利提出POST请求时,我得到的数据如下所示:/auth/sign_in

但是,我还希望能够访问已启用的时间戳属性(created_at、updated_at):

有任何想法吗?提前致谢

0 投票
1 回答
1132 浏览

ruby-on-rails - 设计身份验证令牌 current_user 返回 nil

我想访问current_userdevise aoth token gem它返回 nil 或错误: "You need to sign in or sign up before continuing."

我在客户端使用 redux-token-auth 包,客户端登录并成功注册用户

但是在服务器端 Rails-api 我无法获取 current_user 数据

端口中的 Rails 服务器:3001 端口中的 Clinet 服务器:3000

宝石:


应用控制器:


设计身份验证令牌


路线:


机架 CROS:

0 投票
1 回答
53 浏览

angular - angular-token@6 与 angular@5 / ionic@3 兼容吗?

我在版本 3 中使用ionic 框架。在撰写本文时,ionic 4 仍处于测试阶段。据我了解,ionic 3 仅兼容angular 5。

我正在尝试添加angular-token,目前为 6.0.4。angular-token 的第 5 版显然不存在。

将 angular-token@6 与 angular@5 和 ionic@3 一起安装时,我遇到了一些奇怪的错误,例如:

类似的问题中,我怀疑 angular-token 可能与 angular@5 不兼容,因此与 ionic@3 不兼容。这个对吗?

您能否推荐一些使用 ionic 3针对devise-token-auth实施基于令牌的身份验证的方法?

0 投票
1 回答
207 浏览

ruby-on-rails - 从 redux-token-auth 重新加载时访问新的访问令牌

我正在构建一个由 React 前端和后端中的几个 Rails API 组成的 Web 应用程序。一个 Rails API 用于用户身份验证,另一个用于存储,所有这些都通过 resftful API 端点进行协调。对于客户端身份验证,我是用户 redux-token-auth 与用户身份验证 API 上的 devise_token_auth gem 配对。在存储 API 上,它通过让用户身份验证 API 在登录时将客户端标识符和访问令牌发送到存储 API 来确认用户已通过身份验证。客户端通过存储验证访问令牌和客户端标识符以进行授权。一切正常,但我遇到的问题是,在重新加载客户端应用程序时,会生成一个新令牌,并且必须将这个新令牌发送并存储在存储 API 中才能授权工作。

我已经查看了 redux-token-auth 的代码,并且当客户端重新加载时会调用 verifyCredentials 函数。这个函数似乎是一个不返回承诺的承诺。进一步 verifyCredentials 调用 verifyToken,它将访问令牌存储到本地存储中。但是,这也不会返回我可以实现的承诺。我尝试在调用 verifyCredentials 并通过客户端中的 axios 将新令牌发送到存储 API 后立即更新访问令牌,但它始终发送最后一个令牌而不是新更新的令牌。我曾尝试在应用程序生命周期的不同时间以各种方式执行此操作,但都失败了。

是否有任何可行的解决方案来解决这个问题,或者无论如何将 verifyToken/VerifyCrendials 变成一个返回我可以访问的响应数据的承诺?

0 投票
1 回答
310 浏览

ruby-on-rails - Rails api 未通过设计令牌身份验证将访问令牌和客户端返回到外部 url

我在将devise_token_auth客户端和访问令牌返回到前端时遇到问题。它在我的测试环境中运行良好,我得到了预期的结果。但在我的开发环境中,我使用的是外部 url。这是我创建会话时得到的响应:

我浏览了devise_token_auth文档并已将其添加到我的application.rb

有人对如何使它工作有任何想法吗?

0 投票
1 回答
636 浏览

ruby-on-rails-4 - 为什么设计会生成这种格式的确认 URL?

设计继续生成这种格式confirmation URL

我不知道为什么它没有产生这样的东西。

这就是我的confirmation_instructions.html.haml样子。

0 投票
1 回答
773 浏览

ruby-on-rails - 无法弄清楚如何使用 devise_token_auth gem 更新用户

我正在开发一个旨在与 VUE 前端一起使用的 Rails API。这是我第一次将 Rails 用作 API。

我熟悉在其他 Rails 应用程序中使用设计进行用户身份验证。

我们的登录工作,与注销相同。我不知道如何编辑和删除用户。

我的 rake 路线显示了这一点:

我的 routes.rb 是这样的:

我正在使用 CURL 测试 api。以下命令可以成功登录:

这行得通。

更新用户的路由应该是http://localhost:3000/api/v1/auth/

登录为我提供了客户端和访问令牌值。当我将它们弹出到以下 curl 命令中时,我希望用户进行更新。我要更新的属性是“sortOrder”。

通过该命令,我的 rails 日志显示:

curl 命令的输出是:

我不确定我在这里缺少什么。通过这个设计设置,我无法访问设计/注册控制器。我可能可以创建自己的,但这应该可以。我无法找到解决用户更新和删除问题的 devise_token_auth gem 的文档。

我得到的结果似乎是“找不到用户”。我尝试了几种方法来获取请求中的用户 UID、电子邮件和 ID,但似乎没有任何效果。有谁之前经历过这个吗?

0 投票
0 回答
344 浏览

angular - 从浏览器窗口登录到电子应用程序

我有电子应用程序,它将Angular-Token用于 Angular,将Devise Token Auth用于 rails 后端。使用Angular-Token 提供的 api, Oauth 登录在浏览器中可以正常工作。它创建一个新窗口并返回一个可观察对象,并在身份验证完成后关闭窗口。

我想在电子应用程序中实现相同的功能,但问题是this.tokenService.signInOAuth打开电子窗口,我认为它不安全。如何安全地实现此功能?Github 桌面通过触发我的 safari 浏览器窗口并在身份验证完成后返回到电子应用程序来很好地做到这一点。

0 投票
0 回答
404 浏览

ruby-on-rails - RuntimeError(未找到资源类)

创建一个Rails API使用Devise_token_authgem 并尝试使其能够通过 google 和 facebook 登录。在此之后:- github。此错误已注册,但尚无解决方案Here。我的错误:-

现在,我的 configure_permitted_pa​​rameters 包含一些我在注册时需要存在且不可忽略的正文参数。我应该用什么技术/方法来忽略这一点并检查我的 APIdevise: omniauthable