簡體   English   中英

Rails 請求中的 JWT 驗證

[英]JWT validation in rails requests

我有身份驗證服務使用

Json 網絡令牌

在我的 Rails API 中。 我想檢查 Token 在我的 API 收到的每個請求中是否有效。

問題是,當我編寫檢查 Token 在 main 中是否有效的函數時

應用控制器.rb

文件它在引擎中不可見,我無法為我擁有的每個引擎執行 before_action。 有沒有辦法在我的應用程序在每個引擎中獲得的每個請求中驗證令牌?

您可以在config/initializers下創建一個.rb文件

class ActionController::Base
  before_action :validate_jwt_token

  def validate_jwt_token
    # validate jwt token
  end
end

這將確保在所有已安裝引擎中的每個請求上都執行validate_jwt_token

編輯:

你也可以把這段代碼放在 Api engine 或者 Umg 的engine.rb

module Api
  class Engine < ::Rails::Engine
    #...

    initializer 'api.jwt_token_validation_helper' do
      ActionController::Base.send :include, Api::JwtTokenValidationHelper
    end
  end
end

module Api
  module JwtTokenValidationHelper
    extend ActiveSupport::Concern

    include do
      before_action :validate_jwt_token

      def validate_jwt_token
        puts 'your code here'
      end
    end
  end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM