Rails:在开发中禁用敲击 JWT 身份验证

Posted

技术标签:

【中文标题】Rails:在开发中禁用敲击 JWT 身份验证【英文标题】:Rails: disable knock JWT authentication in development 【发布时间】:2018-09-09 23:46:30 【问题描述】:

是否有一种简单的方法可以允许对受 knock (JWT) 保护的 Rails API 的非 xhr 请求绕过身份验证?

我希望能够轻松验证/检查对 API 操作的 JSON 响应,而无需在开发过程中随请求传递 JWT 令牌。

【问题讨论】:

【参考方案1】:

这可以通过跳过控制器中的身份验证操作来完成,如下所示:

class UserController < ApiController

  skip_before_action :authenticate_user, if: Proc.new  Rails.env.development? 

end

这应该绕过敲击 JWT 标头检查,并允许在此控制器中不受限制地访问您的操作。您还可以将它添加到您的 ApiController 类中,并让它在所有从 ApiController 类继承的控制器上工作。

根据您的资源名称,操作可能会有所不同。例如,如果您的资源(模型)称为管理员,则您的操作将称为“authenticate_administrator”。

【讨论】:

以上是关于Rails:在开发中禁用敲击 JWT 身份验证的主要内容,如果未能解决你的问题,请参考以下文章

使用 Rails 和 React 时如何在标头中获取 JWT 令牌

使用 JWT 和刷新令牌对移动应用程序进行身份验证

Rails 5 和设计:如何在不更改默认策略的情况下禁用基于令牌的策略上的会话

具有多个身份验证源的JWT令牌

在 Oboe,js 中使用 JWT 身份验证

微服务中的 JWT 身份验证