Class: AuthOriginControl::EncodedSecret

Inherits:
Object
  • Object
show all
Defined in:
lib/auth_origin_control/encoded_secret/encoded_secret.rb

Instance Method Summary collapse

Constructor Details

#initialize(encode_key) ⇒ EncodedSecret

Returns a new instance of EncodedSecret.



6
7
8
9
10
11
# File 'lib/auth_origin_control/encoded_secret/encoded_secret.rb', line 6

def initialize encode_key
  @config = AuthOriginControl
  @self_secret = @config.self_identity.try(:[],:secret_key)
  
  @encrypt_key = Digest::SHA256.hexdigest(encode_key)
end

Instance Method Details

#decode(data) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/auth_origin_control/encoded_secret/encoded_secret.rb', line 25

def decode data
  begin
    Encryptor.decrypt(data, :key => @encrypt_key)
  rescue OpenSSL::Cipher::CipherError
    return data
  end
end

#encode(data) ⇒ Object



21
22
23
# File 'lib/auth_origin_control/encoded_secret/encoded_secret.rb', line 21

def encode data
  Encryptor.encrypt(data, :key => @encrypt_key)
end

#from_app_id(_app_id) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/auth_origin_control/encoded_secret/encoded_secret.rb', line 13

def from_app_id _app_id
  if secret = find_secret_from_id(_app_id)
    encode({:original_request_client_secret => secret}.to_json)
  else
    encode({:error => "Client App could not be found with id #{_app_id}"}.to_json)
  end
end