Rails Devise-JWT,如何配置devise.rb来添加dispatch_requests

时间:2017-07-02 23:49:45

标签: ruby-on-rails ruby regex devise

我正在使用devise-jwt

自述文件包含以下内容:

dispatch_requests:"应该派遣JWT令牌的其他请求"

示例:

jwt.dispatch_requests = [
                          ['POST', %r{^/dispatch_path_1$}],
                          ['GET', %r{^/dispatch_path_2$}],
                        ]

根据文档,我使用以下内容更新了我的devise.rb:

  config.jwt do |jwt|
    jwt.secret = ENV['DEVISE_JWT_SECRET_KEY']
    jwt.expiration_time = 30.days
    jwt.dispatch_requests = [
                              ['GET', %r{^/users/confirmation.*$}]
                            ]
  end

目标是当用户通过点击以下链接通过电子邮件确认其电子邮件地址时,让devise-jwt调度JWT令牌:

http://localhost:4400/users/confirmation?confirmation_token=16J2zDtDhjyF3vCQv2ba

出于某种原因,上面的网址没有在标题中调度JWT令牌......鉴于我在正则表达式上很可怕,我希望得到一些帮助......我做错了什么在我的设计配置中添加额外的调度请求?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果令牌位于您点击的链接中,则令牌不会出现在标题中,它将作为名为' confirmation_token'的参数发送。你可以访问: 来自控制器内的params[:confirmation_token]

P.S。 JSON Web令牌非常棒,我喜欢使用它们来管理应用程序中的状态,因此不需要会话存储:D,当然,当您需要访问前端令牌中的数据时,这确实存在一些问题。