module TokenValidate extend ActiveSupport::Concern ACCESS_TOEKN_EXPIRE_TIME = 7200 def validate_token(app_name, token) !! (token == get_token(app_name)) end def token_ttl(app_name) $redis.ttl(tkey(app_name)) end def generate_token(app_name) token = SecureRandom.hex(32) $redis.set(tkey(app_name), token, ex: ACCESS_TOEKN_EXPIRE_TIME) token end private def tkey(app_name) "push:api:#{app_name}:access_token" end def get_token(app_name) $redis.get(tkey(app_name)) end end