class Rails::Vault::JWT::TokenProvider::BaseProvider
Attributes
expire_time[R]
Public Class Methods
new(*_args, bearer_role_name: nil, **_kwargs)
click to toggle source
# File lib/rails/vault/jwt/token_provider/base_provider.rb, line 12 def initialize(*_args, bearer_role_name: nil, **_kwargs) @expire_time = DateTime.now @bearer_role_name = bearer_role_name || ENV.fetch('VAULT_BEARER_ROLE', '') end
Public Instance Methods
auth()
click to toggle source
# File lib/rails/vault/jwt/token_provider/base_provider.rb, line 17 def auth; end
bearer_token()
click to toggle source
# File lib/rails/vault/jwt/token_provider/base_provider.rb, line 19 def bearer_token token client.logical.read("identity/oidc/token/#{@bearer_role_name}")&.data[:token] end
client()
click to toggle source
# File lib/rails/vault/jwt/token_provider/base_provider.rb, line 47 def client @client ||= ::Vault::Client.new end
token()
click to toggle source
# File lib/rails/vault/jwt/token_provider/base_provider.rb, line 24 def token unless token_valid? auth_data = auth @token = auth_data.client_token @expire_time = DateTime.now + (auth_data.lease_duration / 86_400.0) client.token = @token end @token end
token_expired?()
click to toggle source
# File lib/rails/vault/jwt/token_provider/base_provider.rb, line 35 def token_expired? DateTime.now > @expire_time end
token_life_remaining()
click to toggle source
# File lib/rails/vault/jwt/token_provider/base_provider.rb, line 39 def token_life_remaining (@expire_time - DateTime.now) * 86_400.0 end
token_valid?()
click to toggle source
# File lib/rails/vault/jwt/token_provider/base_provider.rb, line 43 def token_valid? !@token.nil? && !token_expired? end