Class: Foobara::Auth::BuildSecret
- Inherits:
-
Command
- Object
- Command
- Foobara::Auth::BuildSecret
show all
- Defined in:
- foobara-auth-0.1.1/src/build_secret.rb
Constant Summary
TruncatedInspect::MAX_LENGTH
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from Command
install!
#inspect, truncating
Methods included from Concern
foobara_class_methods_module_for, foobara_concern?, included
Instance Attribute Details
#hashed_secret ⇒ Object
Returns the value of attribute hashed_secret.
18
19
20
|
# File 'src/build_secret.rb', line 18
def hashed_secret
@hashed_secret
end
|
#secret_model ⇒ Object
Returns the value of attribute secret_model.
18
19
20
|
# File 'src/build_secret.rb', line 18
def secret_model
@secret_model
end
|
Instance Method Details
#argon_params ⇒ Object
32
33
34
35
36
37
38
39
|
# File 'src/build_secret.rb', line 32
def argon_params
{
t_cost: 2,
m_cost: 16,
parallelism: 1,
type: :argon2id
}
end
|
#build_secret ⇒ Object
24
25
26
27
28
29
30
|
# File 'src/build_secret.rb', line 24
def build_secret
self.secret_model = Types::Secret.new(
hashed_secret:,
parameters: argon_params.merge(other_params),
created_at: Time.now
)
end
|
#execute ⇒ Object
11
12
13
14
15
16
|
# File 'src/build_secret.rb', line 11
def execute
generate_hashed_secret
build_secret
secret_model
end
|
#generate_hashed_secret ⇒ Object
20
21
22
|
# File 'src/build_secret.rb', line 20
def generate_hashed_secret
self.hashed_secret = Argon2::Password.create(secret, **argon_params)
end
|
#other_params ⇒ Object
41
42
43
|
# File 'src/build_secret.rb', line 41
def other_params
{ method: :argon2id }
end
|