Class: SecureToken::SecureTokenService::Decryptor
- Inherits:
-
Object
- Object
- SecureToken::SecureTokenService::Decryptor
- Defined in:
- lib/secure_token.rb
Instance Method Summary collapse
- #decrypt_and_verify(message, key_pair) ⇒ Object
-
#initialize(serializer) ⇒ Decryptor
constructor
A new instance of Decryptor.
Constructor Details
#initialize(serializer) ⇒ Decryptor
96 97 98 |
# File 'lib/secure_token.rb', line 96 def initialize(serializer) @serializer = serializer end |
Instance Method Details
#decrypt_and_verify(message, key_pair) ⇒ Object
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/secure_token.rb', line 100 def decrypt_and_verify(, key_pair) begin = Base64.urlsafe_decode64() rescue ArgumentError return nil end verified = verify(, key_pair.signing_key) return nil unless verified begin decrypted = decrypt(verified, key_pair.encryption_key).force_encoding('utf-8') rescue OpenSSL::Cipher::CipherError return nil end @serializer.deserialize(decrypted) end |