Class: OCI::Auth::SecurityTokenContainer
- Inherits:
 - 
      Object
      
        
- Object
 - OCI::Auth::SecurityTokenContainer
 
 
- Defined in:
 - lib/oci/auth/security_token_container.rb
 
Overview
A container class which holds the raw token retrieved from Auth Service and its decoded equivalent
Instance Attribute Summary collapse
- 
  
    
      #jwt  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute jwt.
 - 
  
    
      #security_token  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute security_token.
 
Instance Method Summary collapse
- 
  
    
      #initialize(security_token, key_pair: nil)  ⇒ SecurityTokenContainer 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of SecurityTokenContainer.
 - #token_valid? ⇒ Boolean
 - #token_valid_with_half_expiration_time? ⇒ Boolean
 
Constructor Details
#initialize(security_token, key_pair: nil) ⇒ SecurityTokenContainer
Returns a new instance of SecurityTokenContainer.
      14 15 16 17 18  | 
    
      # File 'lib/oci/auth/security_token_container.rb', line 14 def initialize(security_token, key_pair: nil) @key_pair = key_pair @security_token = security_token @jwt = JWT.decode(@security_token, nil, false) end  | 
  
Instance Attribute Details
#jwt ⇒ Object (readonly)
Returns the value of attribute jwt.
      11 12 13  | 
    
      # File 'lib/oci/auth/security_token_container.rb', line 11 def jwt @jwt end  | 
  
#security_token ⇒ Object (readonly)
Returns the value of attribute security_token.
      12 13 14  | 
    
      # File 'lib/oci/auth/security_token_container.rb', line 12 def security_token @security_token end  | 
  
Instance Method Details
#token_valid? ⇒ Boolean
      20 21 22 23  | 
    
      # File 'lib/oci/auth/security_token_container.rb', line 20 def token_valid? expiration_epoch_seconds = @jwt[0]['exp'] expiration_epoch_seconds > Time.now.to_i end  | 
  
#token_valid_with_half_expiration_time? ⇒ Boolean
      25 26 27 28 29 30  | 
    
      # File 'lib/oci/auth/security_token_container.rb', line 25 def token_valid_with_half_expiration_time? issue_epoch_seconds = @jwt[0]['iat'] expiration_epoch_seconds = @jwt[0]['exp'] half_valid_duration = (expiration_epoch_seconds - issue_epoch_seconds) / 2 (expiration_epoch_seconds - half_valid_duration) > Time.now.to_i end  |