Class: Apes::Serializers::JWT
- Inherits:
-
Object
- Object
- Apes::Serializers::JWT
- Defined in:
- lib/apes/serializers.rb
Overview
JWT encoded serialized value.
Class Method Summary collapse
-
.dump(data) ⇒ String
Saves serialized data.
-
.jwt_secret ⇒ Object
:nodoc:.
-
.load(serialized, raise_errors = false, default = {}) ⇒ Object
Loads serialized data.
Class Method Details
.dump(data) ⇒ String
Saves serialized data.
77 78 79 |
# File 'lib/apes/serializers.rb', line 77 def dump(data) ::JWT.encode({aud: "data", sub: data.as_json}, jwt_secret, "HS256") end |
.jwt_secret ⇒ Object
:nodoc:
82 83 84 |
# File 'lib/apes/serializers.rb', line 82 def jwt_secret Apes::RuntimeConfiguration.jwt_token end |
.load(serialized, raise_errors = false, default = {}) ⇒ Object
Loads serialized data.
64 65 66 67 68 69 70 71 |
# File 'lib/apes/serializers.rb', line 64 def load(serialized, raise_errors = false, default = {}) data = ::JWT.decode(serialized, jwt_secret, true, {algorithm: "HS256", verify_aud: true, aud: "data"}).dig(0, "sub") data = data.with_indifferent_access if data.is_a?(Hash) data rescue => e raise(e) if raise_errors default end |